Skip to content

Commit 83de40c

Browse files
committed
better integration
1 parent b8c48ac commit 83de40c

File tree

2 files changed

+29
-7
lines changed
  • services/web/server/src/simcore_service_webserver

2 files changed

+29
-7
lines changed

services/web/server/src/simcore_service_webserver/cli.py

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
1414
"""
1515

16+
from contextlib import AsyncExitStack
1617
import logging
1718
import os
1819
from typing import Annotated, Final
@@ -22,6 +23,8 @@
2223
from common_library.json_serialization import json_dumps
2324
from settings_library.utils_cli import create_settings_command
2425

26+
from servicelib.logging_utils import setup_async_loggers
27+
2528
from .application_settings import ApplicationSettings
2629
from .login import cli as login_cli
2730

@@ -80,12 +83,26 @@ async def app_factory() -> web.Application:
8083
tracing_settings=app_settings.WEBSERVER_TRACING,
8184
)
8285

83-
if app_settings.WEBSERVER_APP_FACTORY_NAME == "WEBSERVER_AUTHZ_APP_FACTORY":
86+
exit_stack = AsyncExitStack()
87+
await exit_stack.enter_async_context(
88+
setup_async_loggers(
89+
log_format_local_dev_enabled=app_settings.WEBSERVER_LOG_FORMAT_LOCAL_DEV_ENABLED,
90+
logger_filter_mapping=app_settings.WEBSERVER_LOG_FILTER_MAPPING,
91+
tracing_settings=app_settings.WEBSERVER_TRACING,
92+
)
93+
)
8494

95+
if app_settings.WEBSERVER_APP_FACTORY_NAME == "WEBSERVER_AUTHZ_APP_FACTORY":
8596
app = create_application_auth()
8697
else:
8798
app, _ = _setup_app_from_settings(app_settings)
8899

100+
async def _cleanup_event(app: web.Application) -> None:
101+
assert app # nosec
102+
_logger.info("Cleaning up application resources")
103+
await exit_stack.aclose()
104+
105+
app.on_cleanup.append(_cleanup_event)
89106
return app
90107

91108

services/web/server/src/simcore_service_webserver/log.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,17 @@
11
"""Configuration and utilities for service logging"""
22

33
import logging
4+
from collections.abc import AsyncGenerator
45

56
from aiodebug import log_slow_callbacks # type: ignore[import-untyped]
7+
from aiohttp import web
68
from aiohttp.log import access_logger
7-
from servicelib.logging_utils import config_all_loggers
9+
from servicelib.aiohttp.application_setup import ensure_single_setup
10+
from servicelib.logging_utils import setup_async_loggers
811
from settings_library.tracing import TracingSettings
912

13+
from simcore_service_webserver.application_settings import get_application_settings
14+
1015
LOG_LEVEL_STEP = logging.CRITICAL - logging.ERROR
1116
NOISY_LOGGERS = (
1217
"aio_pika",
@@ -36,11 +41,11 @@ def setup_logging(
3641

3742
# root
3843
logging.root.setLevel(level)
39-
config_all_loggers(
40-
log_format_local_dev_enabled=log_format_local_dev_enabled,
41-
logger_filter_mapping=logger_filter_mapping,
42-
tracing_settings=tracing_settings,
43-
)
44+
# config_all_loggers(
45+
# log_format_local_dev_enabled=log_format_local_dev_enabled,
46+
# logger_filter_mapping=logger_filter_mapping,
47+
# tracing_settings=tracing_settings,
48+
# )
4449

4550
# Enforces same log-level to aiohttp & gunicorn access loggers
4651
#

0 commit comments

Comments
 (0)