Files
New-planet-api/new-planet-backend/app/core/logging.py
2025-12-13 14:39:50 +03:00

37 lines
1001 B
Python

import logging
import sys
from logging.handlers import RotatingFileHandler
from pathlib import Path
def setup_logging(log_level: str = "INFO"):
"""Настройка логирования"""
log_dir = Path("logs")
log_dir.mkdir(exist_ok=True)
# Формат логов
formatter = logging.Formatter(
"%(asctime)s - %(name)s - %(levelname)s - %(message)s",
datefmt="%Y-%m-%d %H:%M:%S"
)
# Консольный handler
console_handler = logging.StreamHandler(sys.stdout)
console_handler.setFormatter(formatter)
# Файловый handler
file_handler = RotatingFileHandler(
log_dir / "app.log",
maxBytes=10 * 1024 * 1024, # 10MB
backupCount=5
)
file_handler.setFormatter(formatter)
# Root logger
root_logger = logging.getLogger()
root_logger.setLevel(log_level)
root_logger.addHandler(console_handler)
root_logger.addHandler(file_handler)
return root_logger