from pathlib import Path from typing import Any, Dict from libbot.utils import config_get import logging from logging import Logger def get_logging_config() -> Dict[str, Any]: return { "version": 1, "disable_existing_loggers": False, "handlers": { "file": { "class": "logging.handlers.RotatingFileHandler", "filename": str(Path("logs/latest.log")), "maxBytes": 500000, "backupCount": 10, "formatter": "simple", }, "console": {"class": "logging.StreamHandler", "formatter": "systemd"}, }, "formatters": { "simple": { "format": "%(asctime)s - %(name)s - %(levelname)s - %(message)s" }, "systemd": {"format": "%(name)s - %(levelname)s - %(message)s"}, }, "root": { "level": "DEBUG" if config_get("debug") else "INFO", "handlers": ["file", "console"], }, } def get_logger(name: str) -> Logger: return logging.getLogger(name)