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] # )