pymor.core.logger
¶
This module contains pyMOR’s logging facilities.
pyMOR’s logging facilities are based on the logging
module of the
Python standard library. To obtain a new logger object use getLogger
.
Logging can be configured via the set_log_format
and
set_log_levels
methods.
Module Contents¶
- class pymor.core.logger.ColoredFormatter[source]¶
Bases:
logging.Formatter
A logging.Formatter that colors loglevel keyword output.
Coloring can be disabled by setting the
PYMOR_COLORS_DISABLE
environment variable to1
.Methods
Format the specified record as text.
- format(record)[source]¶
Format the specified record as text.
The record’s attribute dictionary is used as the operand to a string formatting operation which yields the returned string. Before formatting the dictionary, a couple of preparatory steps are carried out. The message attribute of the record is computed using LogRecord.getMessage(). If the formatting string uses the time (as determined by a call to usesTime(), formatTime() is called to format the event time. If there is exception information, it is formatted using formatException() and appended to the message.
- pymor.core.logger.getLogger(module, level=None, filename=None)[source]¶
Get the logger of the respective module for pyMOR’s logging facility.
In addition to the logging methods inherited from
Logger
all returned loggers get a block, info2, info3 method for the respective new levels. Plus all warnings methods get aXXX_once
method that caches the msg and only emits the log entry the first time (per logger instance, not globally).- Parameters:
module – Name of the module.
level – If set,
logger.setLevel(level)
is called (seesetLevel
).filename – If not empty, path of an existing file where everything logged will be written to.
- pymor.core.logger.log_levels(level_mapping)[source]¶
Change levels for given loggers on entry and reset to before state on exit.
- Parameters:
level_mapping – a dict of logger name -> level name
- pymor.core.logger.set_log_format(max_hierarchy_level=1, indent_blocks=True, block_timings=False)[source]¶
Set log levels for pyMOR’s logging facility.
- Parameters:
max_hierarchy_level – The number of components of the loggers name which are printed. (The first component is always stripped, the last component always preserved.)
indent_blocks – If
True
, indent log messages inside a code block started withwith logger.block(...)
.block_timings – If
True
, measure the duration of a code block started withwith logger.block(...)
.
- pymor.core.logger.set_log_levels(levels=None)[source]¶
Set log levels for pyMOR’s logging facility.
- Parameters:
levels – Dict of log levels. Keys are names of loggers (see
logging.getLogger
), values are the log levels to set for the loggers of the given names (seesetLevel
).