Vastai-ConnectHub/app/core/logging.py

38 lines
921 B
Python

from __future__ import annotations
import logging
import os
from logging.handlers import RotatingFileHandler
from app.core.config import settings
def setup_logging() -> None:
logger = logging.getLogger()
if getattr(logger, "_connecthub_configured", False):
return
logger.setLevel(logging.INFO)
formatter = logging.Formatter(
fmt="%(asctime)s %(levelname)s %(name)s %(message)s",
datefmt="%Y-%m-%d %H:%M:%S",
)
sh = logging.StreamHandler()
sh.setFormatter(formatter)
logger.addHandler(sh)
if settings.log_dir:
os.makedirs(settings.log_dir, exist_ok=True)
fh = RotatingFileHandler(
os.path.join(settings.log_dir, "connecthub.log"),
maxBytes=10 * 1024 * 1024,
backupCount=5,
)
fh.setFormatter(formatter)
logger.addHandler(fh)
setattr(logger, "_connecthub_configured", True)