plinder.core.utils.log#
- plinder.core.utils.log.setup_logger(logger_name: str | None = None, log_level: int = 0, log_file: str | None = None, propagate: bool = False) Logger[source]#
Setup logger for the module name as the logger name by default for easy tracing of what’s happening in the code
- Parameters:
- logger_namestr | None
Name of the logger; if None, derived from the calling module’s filename.
- log_levelint
Log level
- log_file: str | None
optional log file to write to
- propagatebool
propagate log events to parent loggers, default = False
- Returns:
- logging.Logger:
logger object
Notes
When
propagate=False(the default), pytest’scaplogfixture cannot observe records from this logger because caplog hooks the root logger. Tests asserting on warnings/errors should either passpropagate=Truehere or capture viamonkeypatch.setattr(LOG, "warning", ...).Examples
>>> logger = setup_logger("some_logger_name") >>> logger.name 'some_logger_name' >>> logger.level 20 >>> logger = setup_logger(log_level=logging.DEBUG) >>> logger.name 'log.py' >>> logger.level 10