menu-creche/logging_conf.py

30 lines
859 B
Python

import logging
from logging.handlers import RotatingFileHandler
from pathlib import Path
from config import LOG_LEVEL
LOGS_DIR = Path("/opt", "log", "menu-creche")
LOGS_DIR.mkdir(parents=True, exist_ok=True)
def get_logger(name: str) -> logging.Logger:
logger = logging.getLogger(name)
if not logger.handlers:
logger.setLevel(LOG_LEVEL)
formatter = logging.Formatter(
"%(asctime)s - %(name)s - %(levelname)s - %(message)s"
)
console_handler = logging.StreamHandler()
console_handler.setFormatter(formatter)
logger.addHandler(console_handler)
file_handler = RotatingFileHandler(
LOGS_DIR / "app.log", maxBytes=5 * 1024 * 1024, backupCount=3, mode="w"
)
file_handler.setFormatter(formatter)
logger.addHandler(file_handler)
return logger