Files
ad-nix/apps/rich_logging.py
2024-01-28 09:04:54 -06:00

34 lines
1007 B
Python

import logging
from rich.console import Console
from rich.highlighter import NullHighlighter
from rich.logging import RichHandler
def init_logging(log_level: int = logging.INFO):
rich_handler = RichHandler(
console=Console(width=150),
highlighter=NullHighlighter(),
markup=True,
rich_tracebacks=True,
tracebacks_suppress=['pandas', 'discord'],
)
dt_fmt = '%Y-%m-%d %I:%M:%S %p'
# https://docs.python.org/3/library/logging.html#logrecord-attributes
log_format = '[magenta]%(name)s[/]: [cyan]%(funcName)s[/] %(message)s'
root_logger = logging.getLogger()
formatter = logging.Formatter(log_format)
formatter.datefmt = dt_fmt
rich_handler.setFormatter(formatter)
root_logger.addHandler(rich_handler)
root_logger.setLevel(log_level)
# logging.debug(f'Set up logging')
# logging.basicConfig(
# level=log_level,
# format=log_format,
# datefmt=dt_fmt,
# handlers=[rich_handler]
# )