Source code for app_utils.logging

"""Utilities for logging."""

import logging


[docs] class LoggerAddTag(logging.LoggerAdapter): """adds a custom prefix to the given logger Example: .. code-block:: python import logging from app_utils.logging import LoggerAddTag logger = LoggerAddTag(logging.getLogger(__name__), __package__) """
[docs] def __init__(self, my_logger, prefix): """:meta private:""" super().__init__(my_logger, {}) self.prefix = prefix
def process(self, msg, kwargs): """:meta private:""" return ( "[%s] %s" % (self.prefix, msg), # pylint: disable=consider-using-f-string kwargs, )
logger = LoggerAddTag(logging.getLogger(__name__), __package__)
[docs] def make_logger_prefix(tag: str): """creates a function to add logger prefixes, which returns tag when used empty""" return lambda text="": f'{tag}{(": " + text) if text else ""}'