log refactor

This commit is contained in:
2026-05-12 19:30:15 +03:00
parent 1d59df2233
commit b17b5333c7
84 changed files with 5827 additions and 3908 deletions

View File

@@ -29,6 +29,9 @@ from .dependencies import get_task_manager, get_scheduler_service
from .core.encryption_key import ensure_encryption_key
from .core.utils.network import NetworkError
from .core.logger import logger, belief_scope
from .core.cot_logger import MarkerLogger
startup_log = MarkerLogger("Startup")
from .core.database import AuthSessionLocal
from .core.auth.security import get_password_hash
from .models.auth import User, Role
@@ -136,10 +139,11 @@ def ensure_initial_admin_user() -> None:
# Startup event
@app.on_event("startup")
async def startup_event():
with belief_scope("startup_event"):
ensure_encryption_key()
ensure_initial_admin_user()
scheduler = get_scheduler_service()
startup_log.reason("Enter startup event")
ensure_encryption_key()
ensure_initial_admin_user()
scheduler = get_scheduler_service()
startup_log.reflect("Application startup completed")
scheduler.start()
@@ -163,7 +167,7 @@ async def shutdown_event():
# [/DEF:shutdown_event:Function]
# [DEF:app_middleware:Block]
# @PURPOSE: Configure application-wide middleware (Session, CORS).
# @PURPOSE: Configure application-wide middleware (Session, CORS, TraceContext).
# Configure Session Middleware (required by Authlib for OAuth2 flow)
from .core.auth.config import auth_config
@@ -177,6 +181,11 @@ app.add_middleware(
allow_methods=["*"],
allow_headers=["*"],
)
# Configure Trace Context Middleware (seeds trace_id per request)
from .core.middleware.trace import TraceContextMiddleware
app.add_middleware(TraceContextMiddleware)
# [/DEF:app_middleware:Block]
@@ -187,10 +196,13 @@ app.add_middleware(
# @POST: Returns 503 HTTP Exception.
# @PARAM: request (Request) - The incoming request object.
# @PARAM: exc (NetworkError) - The exception instance.
eh_log = MarkerLogger("ExceptionHandler")
@app.exception_handler(NetworkError)
async def network_error_handler(request: Request, exc: NetworkError):
with belief_scope("network_error_handler"):
logger.error(f"Network error: {exc}")
eh_log.explore("Unhandled NetworkError in request", error=str(exc), payload={"url": str(request.url)})
return HTTPException(
status_code=503,
detail="Environment unavailable. Please check if the Superset instance is running.",