Logging¶
Kedro uses, and facilitates, the use of Python’s logging
library by providing a default logging configuration. This can be found in conf/base/logging.yml
in every project generated using Kedro’s CLI kedro new
command.
Configure logging¶
You can customise project logging in conf/<env>/logging.yml
using standard Kedro mechanisms for handling configuration. The configuration should comply with the guidelines from the logging
library. Find more about it in the documentation for logging
module.
Use logging¶
After reading and applying project logging configuration, kedro
will start emitting the logs automatically. To log your own code, you are advised to do the following:
import logging
log = logging.getLogger(__name__)
log.warning("Issue warning")
log.info("Send information")
Note
The name of a logger corresponds to a key in the loggers
section in logging.yml
(e.g. kedro.io
). See Python’s logging documentation for more information.
Logging for anyconfig
¶
By default, anyconfig library that is used by kedro
to read configuration files emits a log message with INFO
level on every read. To reduce the amount of logs being sent for CLI calls, default project logging configuration in conf/base/logging.yml
sets the level for anyconfig
logger to WARNING
.
If you would like INFO
level messages to propagate, you can update anyconfig
logger level in conf/base/logging.yml
as follows:
loggers:
anyconfig:
level: INFO # change
handlers: [console, info_file_handler, error_file_handler]
propagate: no