Files
marquiz-metrics/app/core/logging.py

29 lines
1.4 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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="<green>{time:YYYY-MM-DD HH:mm:ss}</green> | <level>{level: <8}</level> | <level>{message}</level>",
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 # Добавляет полезную информацию для отладки ошибок
)