Skip to content

Commit 7f01a16

Browse files
committed
storage uses async loggers
1 parent 6dff7c5 commit 7f01a16

File tree

3 files changed

+27
-14
lines changed

3 files changed

+27
-14
lines changed

services/storage/docker/boot.sh

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,9 @@ else
7676

7777
exec sh -c "
7878
cd services/storage/src/simcore_service_storage && \
79-
python -Xfrozen_modules=off -m debugpy --listen 0.0.0.0:${STORAGE_REMOTE_DEBUGGING_PORT} -m uvicorn main:app \
79+
python -Xfrozen_modules=off -m debugpy --listen 0.0.0.0:${STORAGE_REMOTE_DEBUGGING_PORT} -m \
80+
uvicorn \
81+
--factory main:app_factory \
8082
--host 0.0.0.0 \
8183
--port ${STORAGE_PORT} \
8284
--reload \
@@ -85,7 +87,8 @@ else
8587
--log-level \"${SERVER_LOG_LEVEL}\"
8688
"
8789
else
88-
exec uvicorn simcore_service_storage.main:app \
90+
exec uvicorn \
91+
--factory simcore_service_storage.main:app_factory \
8992
--host 0.0.0.0 \
9093
--port ${STORAGE_PORT} \
9194
--log-level "${SERVER_LOG_LEVEL}"

services/storage/src/simcore_service_storage/core/application.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,6 @@
4848

4949

5050
def create_app(settings: ApplicationSettings) -> FastAPI: # noqa: C901
51-
_logger.info("app settings: %s", settings.model_dump_json(indent=1))
52-
5351
app = FastAPI(
5452
debug=settings.SC_BOOT_MODE
5553
in [BootModeEnum.DEBUG, BootModeEnum.DEVELOPMENT, BootModeEnum.LOCAL],
Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
11
"""Main application to be deployed in for example uvicorn."""
22

3+
import logging
34
from typing import Final
45

5-
from servicelib.logging_utils import setup_loggers
6+
from common_library.json_serialization import json_dumps
7+
from fastapi import FastAPI
8+
from servicelib.fastapi.logging_lifespan import setup_logging_shutdown_event
69
from simcore_service_storage.core.application import create_app
710
from simcore_service_storage.core.settings import ApplicationSettings
811

12+
_logger = logging.getLogger(__name__)
13+
914
_NOISY_LOGGERS: Final[tuple[str, ...]] = (
1015
"aio_pika",
1116
"aiobotocore",
@@ -16,14 +21,21 @@
1621
"werkzeug",
1722
)
1823

19-
_settings = ApplicationSettings.create_from_envs()
2024

21-
setup_loggers(
22-
log_format_local_dev_enabled=_settings.STORAGE_LOG_FORMAT_LOCAL_DEV_ENABLED,
23-
logger_filter_mapping=_settings.STORAGE_LOG_FILTER_MAPPING,
24-
tracing_settings=_settings.STORAGE_TRACING,
25-
log_base_level=_settings.log_level,
26-
noisy_loggers=_NOISY_LOGGERS,
27-
)
25+
def app_factory() -> FastAPI:
26+
app_settings = ApplicationSettings.create_from_envs()
27+
logging_shutdown_event = setup_logging_shutdown_event(
28+
log_format_local_dev_enabled=app_settings.STORAGE_LOG_FORMAT_LOCAL_DEV_ENABLED,
29+
logger_filter_mapping=app_settings.STORAGE_LOG_FILTER_MAPPING,
30+
tracing_settings=app_settings.STORAGE_TRACING,
31+
log_base_level=app_settings.log_level,
32+
noisy_loggers=_NOISY_LOGGERS,
33+
)
2834

29-
app = create_app(_settings)
35+
_logger.info(
36+
"Application settings: %s",
37+
json_dumps(app_settings, indent=2, sort_keys=True),
38+
)
39+
app = create_app(settings=app_settings)
40+
app.add_event_handler("shutdown", logging_shutdown_event)
41+
return app

0 commit comments

Comments
 (0)