rics.logs#
Utility methods for logging tasks.
Module Attributes
Default logging format; |
|
Default logging date format; |
Functions
|
Do basic logging configuration with package defaults. |
|
Temporarily disable logging. |
- FORMAT: str = '%(asctime)s.%(msecs)03d [%(name)s:%(levelname)s] %(message)s'#
Default logging format;
<date-format>.378 [rics:DEBUG] I'm a debug message!
- DATE_FORMAT: str = '%Y-%m-%dT%H:%M:%S'#
Default logging date format;
2022-02-05T11:17:05<logging-format>
- basic_config(*, format: str = '%(asctime)s.%(msecs)03d [%(name)s:%(levelname)s] %(message)s', datefmt: str = '%Y-%m-%dT%H:%M:%S', level: int | str = 'INFO', force: bool = True, **kwargs: Any) None [source]#
Do basic logging configuration with package defaults.
Simple wrapper for the standard
logging.basicConfig()
-method, using my personal preferences for defaults.- Parameters:
format – Format string for emitted messages; see
FORMAT
.datefmt – Format string for date/time; see
DATE_FORMAT
. Ifbool(datefmt)
isFalse
, remove the time components ifformat == FORMAT
(the default).level – Log level for the root logger.
force – If
True
, override existing configuration if it exists.**kwargs – Keyword arguments for
logging.basicConfig()
.
- Keyword Arguments:
_level – Additional log levels to set, replacing double underscores with dots to produce the logger names. For example, passing
rics__performance_level=logging.INFO
will modify the ‘rics.performance’-logger.
Examples
Basic usage.
>>> import logging >>> basic_config(level=logging.INFO, rics_level=logging.DEBUG) >>> logging.getLogger("rics").debug("I'm a debug message!") >>> logging.debug("I'm a debug message!") >>> logging.critical("I'm a critical message!") # Doctest: +SKIP 2022-02-05T11:17:05.378 [rics:DEBUG] I'm a debug message! 2022-02-05T11:17:05.378 [root:CRITICAL] I'm a critical message!
Removing time from the message template. Setting
datefmt=""
works as well.>>> import sys >>> basic_config(datefmt=False, stream=sys.stdout) >>> logging.info("No time!") [root:INFO] No time!
- disable_temporarily(*loggers: str | Logger | LoggerAdapter) Any [source]#
Temporarily disable logging.
- Parameters:
*loggers – Loggers to disable.
- Yields:
Nothing.
Examples
Disable all logging temporarily.
>>> import logging >>> logging.basicConfig() >>> with disable_temporarily(logging.root): ... logging.info("This message is ignored.")