import sys from loguru import logger from .config import settings def setup_logging(): """ Настраивает Loguru для вывода в консоль и в файл с ротацией. """ logger.remove() # Сначала удаляем стандартный обработчик # Настраиваем логирование в консоль (stderr) с цветом logger.add( sys.stderr, level=settings.LOG_LEVEL.upper(), format="{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {message}", colorize=True ) # Настраиваем логирование в файл logger.add( "metrics.log", # Имя файла level=settings.LOG_LEVEL.upper(), format="{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {name}:{function} - {message}", rotation="1 MB", # Ротация, когда файл достигнет 1 MB compression="zip", # Сжимать старые файлы логов в zip enqueue=True, # Делает запись безопасной для многопоточности backtrace=True, # Показывает полный стектрейс при ошибках diagnose=True # Добавляет полезную информацию для отладки ошибок )