Logging#

The toolkit generates logging messages, that can warn and help the users. By default, only Warnings are logged to the console. If you want to read the logs, you can do this by:

  • forwarding the logs to a file –> this file will be updated with log messages (live). Use the metobs_toolkit.add_FileHandler() method.

  • Print logs in your console (i.g. your coding environment) –> this will print out the logs in your coding environment (live). Use the metobs_toolkit.add_StreamHandler() method.

Stream Logs#

To stream logs, call the add_StreamHandler() function.

[1]:
import metobs_toolkit

# Forward the logs to the coding environment
metobs_toolkit.add_StreamHandler(setlvl='INFO')

#Import a dataset to generate logs
dataset = metobs_toolkit.Dataset()
dataset.import_data_from_file(
        input_data_file=metobs_toolkit.demo_datafile,
        input_metadata_file=metobs_toolkit.demo_metadatafile,
        template_file=metobs_toolkit.demo_template,
        )

LOG:: INFO - StreamHandler set at 2025-12-19 14:41:41.459611
LOG:: INFO - Reading the templatefile
LOG:: WARNING - Luchtdruk is present in the datafile, but not found in the template! This column will be ignored.
LOG:: WARNING - Neerslagintensiteit is present in the datafile, but not found in the template! This column will be ignored.
LOG:: WARNING - Neerslagsom is present in the datafile, but not found in the template! This column will be ignored.
LOG:: WARNING - Rukwind is present in the datafile, but not found in the template! This column will be ignored.
LOG:: WARNING - Luchtdruk_Zeeniveau is present in the datafile, but not found in the template! This column will be ignored.
LOG:: WARNING - Globe Temperatuur is present in the datafile, but not found in the template! This column will be ignored.
LOG:: WARNING - The following columns are present in the data file, but not in the template! They are skipped!
 ['Neerslagintensiteit', 'Rukwind', 'Neerslagsom', 'Luchtdruk_Zeeniveau', 'Luchtdruk', 'Globe Temperatuur']
LOG:: INFO - Data parsing completed.
LOG:: WARNING - The following columns are found in the metadata, but not in the template and are therefore ignored:
['sponsor', 'stad', 'Network', 'benaming']
LOG:: INFO - Entering get_df method of <metobs_toolkit.io_collection.dataparser.DataParser object at 0x7fa39be063d0>.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.

File logs#

To write logs to a file, call the add_FileHandler() function, and specify the path.

[2]:
from pathlib import Path

target_logfile = Path.cwd() / 'example_logfile.log'
metobs_toolkit.add_FileHandler(filepath=target_logfile, #path to the logfile (can be nonexisting)
                               setlvl = 'INFO',
                               clearlog=True)

#Import a dataset to generate logs
dataset = metobs_toolkit.Dataset()
dataset.import_data_from_file(
        input_data_file=metobs_toolkit.demo_datafile,
        input_metadata_file=metobs_toolkit.demo_metadatafile,
        template_file=metobs_toolkit.demo_template,
        )
LOG:: INFO - File /home/thoverga/Documents/VLINDER_github/MetObs_toolkit/docs/topics/example_logfile.log exists but will be overwritten.
LOG:: INFO - Reading the templatefile
LOG:: WARNING - Luchtdruk is present in the datafile, but not found in the template! This column will be ignored.
LOG:: WARNING - Neerslagintensiteit is present in the datafile, but not found in the template! This column will be ignored.
LOG:: WARNING - Neerslagsom is present in the datafile, but not found in the template! This column will be ignored.
LOG:: WARNING - Rukwind is present in the datafile, but not found in the template! This column will be ignored.
LOG:: WARNING - Luchtdruk_Zeeniveau is present in the datafile, but not found in the template! This column will be ignored.
LOG:: WARNING - Globe Temperatuur is present in the datafile, but not found in the template! This column will be ignored.
LOG:: WARNING - The following columns are present in the data file, but not in the template! They are skipped!
 ['Neerslagintensiteit', 'Rukwind', 'Neerslagsom', 'Luchtdruk_Zeeniveau', 'Luchtdruk', 'Globe Temperatuur']
LOG:: INFO - Data parsing completed.
LOG:: WARNING - The following columns are found in the metadata, but not in the template and are therefore ignored:
['sponsor', 'stad', 'Network', 'benaming']
LOG:: INFO - Entering get_df method of <metobs_toolkit.io_collection.dataparser.DataParser object at 0x7fa39c0d5a90>.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.
LOG:: INFO - SensorData initialized successfully.