it's version 0.8 Добавлена возможность выключения хранения логов и баз данных
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
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,
|
||||
)
|
||||
Reference in New Issue
Block a user