feat: логирование вебхука до БД + файловый лог с ротацией
All checks were successful
CI / test (push) Successful in 47s

- Каждый входящий POST /ingress/grafana: INFO-строка (status, кол-во алертов,
  первые лейблы) и DEBUG-блок с полным JSON телом (до 8КБ)
  — видно даже если БД упала с 500
- LOG_FILE в .env / env: RotatingFileHandler 10MB×5 файлов
- LOG_LEVEL=debug теперь показывает полные тела вебхуков
- basicConfig уровень DEBUG (uvicorn.access / asyncio приглушены)

Made-with: Cursor
This commit is contained in:
Alexandr
2026-04-03 15:59:17 +03:00
parent 80645713a0
commit c9b97814a5
5 changed files with 86 additions and 8 deletions

View File

@ -17,8 +17,10 @@ from onguard24.root_html import render_root_page
from onguard24.status_snapshot import build as build_status
from onguard24.ui_logs import router as logs_router
logging.basicConfig(level=logging.INFO)
logging.basicConfig(level=logging.DEBUG)
logging.getLogger("httpx").setLevel(logging.WARNING)
logging.getLogger("asyncio").setLevel(logging.WARNING)
logging.getLogger("uvicorn.access").setLevel(logging.WARNING)
log = logging.getLogger("onguard24")
@ -34,8 +36,8 @@ def parse_addr(http_addr: str) -> tuple[str, int]:
@asynccontextmanager
async def lifespan(app: FastAPI):
install_log_handler(asyncio.get_event_loop())
settings = get_settings()
install_log_handler(asyncio.get_event_loop(), log_file=settings.log_file)
pool = await create_pool(settings)
bus = InMemoryEventBus()
register_module_events(bus, pool)