Files
myfirstprogram/utils/logging_config.py
T

35 lines
987 B
Python

import logging
from logging import CRITICAL, NullHandler, getLogger
from config import Config
def setup_logging() -> None:
"""Настройка логирования. При DISABLE_LOGGING — полное отключение."""
root = getLogger()
if Config.DISABLE_LOGGING:
root.handlers.clear()
root.addHandler(NullHandler())
root.setLevel(CRITICAL)
logging.disable(CRITICAL)
return
from logging import INFO, StreamHandler, basicConfig
from logging.handlers import FileHandler
handlers: list[logging.Handler] = [StreamHandler()]
if not Config.DISABLE_STORAGE:
log_path = Config.LOG_FILE
log_path.parent.mkdir(parents=True, exist_ok=True)
handlers.append(FileHandler(log_path, encoding="utf-8"))
basicConfig(
level=INFO,
format="%(asctime)s [%(levelname)s] %(message)s",
datefmt="%Y-%m-%d %H:%M:%S",
handlers=handlers,
force=True,
)