Skip to content

Commit d9b968c

Browse files
committed
payments
1 parent af922e2 commit d9b968c

File tree

1 file changed

+30
-10
lines changed
  • services/payments/src/simcore_service_payments

1 file changed

+30
-10
lines changed
Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,39 @@
11
"""Main application to be deployed by uvicorn (or equivalent) server"""
22

3+
import logging
4+
from typing import Final
5+
6+
from common_library.json_serialization import json_dumps
37
from fastapi import FastAPI
4-
from servicelib.logging_utils import setup_loggers
8+
from servicelib.fastapi.logging_lifespan import setup_logging_shutdown_event
59
from simcore_service_payments.core.application import create_app
610
from simcore_service_payments.core.settings import ApplicationSettings
711

8-
_the_settings = ApplicationSettings.create_from_envs()
12+
_logger = logging.getLogger(__name__)
913

10-
setup_loggers(
11-
log_format_local_dev_enabled=_the_settings.PAYMENTS_LOG_FORMAT_LOCAL_DEV_ENABLED,
12-
logger_filter_mapping=_the_settings.PAYMENTS_LOG_FILTER_MAPPING,
13-
tracing_settings=_the_settings.PAYMENTS_TRACING,
14-
log_base_level=_the_settings.log_level,
15-
noisy_loggers=None,
14+
_NOISY_LOGGERS: Final[tuple[str, ...]] = (
15+
"aiobotocore",
16+
"aio_pika",
17+
"aiormq",
18+
"botocore",
19+
"werkzeug",
1620
)
1721

18-
# SINGLETON FastAPI app
19-
the_app: FastAPI = create_app(_the_settings)
22+
23+
def app_factory() -> FastAPI:
24+
app_settings = ApplicationSettings.create_from_envs()
25+
logging_shutdown_event = setup_logging_shutdown_event(
26+
log_format_local_dev_enabled=app_settings.PAYMENTS_LOG_FORMAT_LOCAL_DEV_ENABLED,
27+
logger_filter_mapping=app_settings.PAYMENTS_LOG_FILTER_MAPPING,
28+
tracing_settings=app_settings.PAYMENTS_TRACING,
29+
log_base_level=app_settings.log_level,
30+
noisy_loggers=_NOISY_LOGGERS,
31+
)
32+
33+
_logger.info(
34+
"Application settings: %s",
35+
json_dumps(app_settings, indent=2, sort_keys=True),
36+
)
37+
app = create_app(settings=app_settings)
38+
app.add_event_handler("shutdown", logging_shutdown_event)
39+
return app

0 commit comments

Comments
 (0)