gemseo.utils.logging module#
Logging.
- Settings LoggingConfiguration(*, date_format='%H:%M:%S', enable=True, file_path='', file_mode='a', level=20, message_format='%(levelname)8s - %(asctime)s: %(message)s')[source]#
Bases:
BaseModelThe configuration for GEMSEO loggers.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- Parameters:
date_format (str) --
By default it is set to "%H:%M:%S".
enable (bool) --
By default it is set to True.
-
By default it is set to "".
file_mode (str) --
By default it is set to "a".
-
By default it is set to 20.
message_format (str) --
By default it is set to "%(levelname)8s - %(asctime)s: %(message)s".
- Return type:
None
- level: str | int = 20#
The numerical value or name of the logging level, as defined in
logging. Values can either belogging.NOTSET("NOTSET"),logging.DEBUG("DEBUG"),logging.INFO("INFO"),logging.WARNING("WARNING"or"WARN"),logging.ERROR("ERROR"), orlogging.CRITICAL("FATAL"or"CRITICAL").
- class LoggingContext(logger=None, level=30, handler=None, close=True)[source]#
Bases:
objectContext manager for selective logging.
Change the level of the logger in a
withblock.Examples
>>> import logging >>> logger = logging.getLogger() >>> logger.setLevel(logging.INFO) >>> logger.info("This should appear.") >>> with LoggingContext(logger): >>> logger.warning("This should appear.") >>> logger.info("This should not appear.") >>> >>> logger.info("This should appear.")
Source: Logging Cookbook
- Parameters:
logger (Logger | None) -- The logger.
level (int | None) --
The level of the logger to be used on block entry. If
None, do not change the level of the logger.By default it is set to 30.
handler (StreamHandler | None) -- An additional handler to be used on block entry.
close (bool) --
Whether to close the handler on block exit.
By default it is set to True.
- handler: StreamHandler#
An additional handler to be used on block entry.
- level: int | None#
The level of the logger to be used on block entry.
If
None, do not change the level of the logger.
- logger: Logger#
The logger.
- class LoggingSettings(date_format='%H:%M:%S', message_format='%(levelname)8s - %(asctime)s: %(message)s', logger=<Logger gemseo (INFO)>)[source]#
Bases:
objectThe settings of a logger.
- Parameters:
- logger: Logger = <Logger gemseo (INFO)>#
The logger.
- class MultiLineFileHandler(filename, mode='a', encoding=None, delay=False, errors=None)[source]#
Bases:
MultiLineHandlerMixin,FileHandlerFileHandler to split multiline logging messages.
Open the specified file and use it as the stream for logging.
- class MultiLineHandlerMixin[source]#
Bases:
objectStateless mixin class to override logging handlers behavior.
- class MultiLineStreamHandler(stream=None)[source]#
Bases:
MultiLineHandlerMixin,StreamHandlerStreamHandler to split multiline logging messages.
Initialize the handler.
If stream is not specified, sys.stderr is used.
- class OneLineLogging(logger)[source]#
Bases:
objectA context manager to make the StreamHandlers use only one line.
Each record replaces the previous one.
- Parameters:
logger (Logger) -- The logger.
- DEFAULT_MESSAGE_FORMAT: Final[str] = '%(levelname)8s - %(asctime)s: %(message)s'#
The format of the logged message.
- GEMSEO_LOGGER: Final[Logger] = <Logger gemseo (INFO)>#
The GEMSEO's logger.
- LOGGING_SETTINGS = LoggingSettings(date_format='%H:%M:%S', message_format='%(levelname)8s - %(asctime)s: %(message)s', logger=<Logger gemseo (INFO)>)#
The logging settings.
The parameters are changed by
configure_logger().