log refactor
This commit is contained in:
@@ -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.",
|
||||
|
||||
Reference in New Issue
Block a user