chatty / app /core /logging.py
GitHub Action
Deploy to Hugging Face Space
3470cf9
Raw
History Blame Contribute Delete
1.34 kB
from __future__ import annotations
import logging
import logging.config
from app.core.config import get_settings
_LOG_FORMAT = "%(asctime)s %(levelname)-8s %(name)s :: %(message)s"
_DATE_FORMAT = "%Y-%m-%d %H:%M:%S"
def setup_logging() -> None:
"""Configure root logger with a single stdout handler. Idempotent."""
settings = get_settings()
logging.config.dictConfig(
{
"version": 1,
"disable_existing_loggers": False,
"formatters": {
"default": {
"format": _LOG_FORMAT,
"datefmt": _DATE_FORMAT,
},
},
"handlers": {
"console": {
"class": "logging.StreamHandler",
"stream": "ext://sys.stdout",
"formatter": "default",
"level": settings.log_level,
},
},
"loggers": {
"uvicorn.access": {"level": "WARNING", "propagate": True},
"aiogram.event": {"level": "INFO", "propagate": True},
"sqlalchemy.engine": {"level": "WARNING", "propagate": True},
},
"root": {
"handlers": ["console"],
"level": settings.log_level,
},
}
)