import logging.handlers import logging import pathlib import sys MAX_OLD_LOGS = 8 MAX_BYTES = 5_000_000 formatter = logging.Formatter( "[{asctime}] [{levelname}] {name}: {message}", datefmt="%Y-%m-%d %H:%M:%S", style="{", ) def _setup_logging(level: int, location: pathlib.Path, name: str) -> None: logger = logging.getLogger(name) logger.setLevel(level) logger_file = location / f"{name}.log" handler = logging.handlers.RotatingFileHandler( str(logger_file.resolve()), maxBytes=MAX_BYTES, backupCount=MAX_OLD_LOGS, ) base_handler = logging.handlers.RotatingFileHandler( str(logger_file.resolve()), maxBytes=MAX_BYTES, backupCount=MAX_OLD_LOGS, ) handler.setFormatter(formatter) base_handler.setFormatter(formatter) def init_logging(level: int, location: pathlib.Path) -> None: """Initialize loggers. Parameters ---------- level:int Level of debug. location:Path Where to store Logs. """ _setup_logging(level, location, "discord") _setup_logging(level, location, "tuxbot") stdout_handler = logging.StreamHandler(sys.stdout) stdout_handler.setFormatter(formatter)