34 lines
1007 B
Python
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]
|
|
# )
|