Logging config based on default uvicorn settings

This commit is contained in:
Joe Knapper 2025-06-03 14:48:13 +01:00
parent 4ef74c42c3
commit c919f8a19f

View file

@ -1,6 +1,7 @@
from __future__ import annotations
from typing import Optional
from copy import copy
from labthings_fastapi.server import cli, ThingServer
import uvicorn
@ -23,6 +24,11 @@ def customise_server(server: ThingServer, log_folder: str):
def serve_from_cli(argv: Optional[list[str]] = None):
"""Start the server from the command line"""
args = cli.parse_args(argv)
log_config = copy(uvicorn.config.LOGGING_CONFIG)
log_config["loggers"]["uvicorn"]["propagate"] = True
log_config["loggers"]["uvicorn.access"]["propagate"] = True
try:
config = cli.config_from_args(args)
log_folder = config.get("log_folder", "./openflexure/logs")
@ -32,10 +38,7 @@ def serve_from_cli(argv: Optional[list[str]] = None):
server.app,
host=args.host,
port=args.port,
log_config={
"version": 1,
"disable_existing_loggers": False,
},
log_config=log_config,
)
except BaseException as e:
@ -51,10 +54,7 @@ def serve_from_cli(argv: Optional[list[str]] = None):
app,
host=args.host,
port=args.port,
log_config={
"version": 1,
"disable_existing_loggers": False,
},
log_config=log_config,
)
else:
raise e