diff --git a/.secrets.baseline b/.secrets.baseline index 5901ed1..c96422d 100644 --- a/.secrets.baseline +++ b/.secrets.baseline @@ -169,7 +169,7 @@ "filename": "gen3workflow/config-default.yaml", "hashed_secret": "afc848c316af1a89d49826c5ae9d00ed769415f3", "is_verified": false, - "line_number": 37 + "line_number": 39 } ], "migrations/versions/e1886270d9d2_create_system_key_table.py": [ @@ -209,5 +209,5 @@ } ] }, - "generated_at": "2025-01-09T21:36:04Z" + "generated_at": "2025-01-24T23:29:16Z" } diff --git a/gen3workflow/app.py b/gen3workflow/app.py index 13b0a77..faa1539 100644 --- a/gen3workflow/app.py +++ b/gen3workflow/app.py @@ -1,6 +1,7 @@ from fastapi import FastAPI import httpx from importlib.metadata import version +import logging import os from cdislogging import get_logger @@ -24,10 +25,14 @@ def get_app(httpx_client=None) -> FastAPI: app = FastAPI( title="Gen3Workflow", version=version("gen3workflow"), - debug=debug, + debug=config["DEBUG"], root_path=config["DOCS_URL_PREFIX"], ) + + # httpx_logger = logging.getLogger("httpx") + # httpx_logger.setLevel(logging.WARNING) app.async_client = httpx_client or httpx.AsyncClient() + app.include_router(ga4gh_tes_router, tags=["GA4GH TES"]) app.include_router(s3_router, tags=["S3"]) app.include_router(storage_router, tags=["Storage"]) diff --git a/gen3workflow/config-default.yaml b/gen3workflow/config-default.yaml index 5d79e16..8a9f302 100644 --- a/gen3workflow/config-default.yaml +++ b/gen3workflow/config-default.yaml @@ -4,6 +4,8 @@ HOSTNAME: localhost DEBUG: false +# gunicorn debug mode is very verbose, so the setting is separate from the main app debug mode +GUNICORN_DEBUG: false DOCS_URL_PREFIX: /gen3workflow # override the default Arborist URL; ignored if already set as an environment variable diff --git a/gen3workflow/config.py b/gen3workflow/config.py index 77ec3a6..f54f26e 100644 --- a/gen3workflow/config.py +++ b/gen3workflow/config.py @@ -43,6 +43,7 @@ def validate_top_level_configs(self) -> None: "properties": { "HOSTNAME": {"type": "string"}, "DEBUG": {"type": "boolean"}, + "GUNICORN_DEBUG": {"type": "boolean"}, "DOCS_URL_PREFIX": {"type": "string"}, "ARBORIST_URL": {"type": ["string", "null"]}, "MOCK_AUTH": {"type": "boolean"}, diff --git a/gunicorn.conf.py b/gunicorn.conf.py index 3138302..6e39ff0 100644 --- a/gunicorn.conf.py +++ b/gunicorn.conf.py @@ -29,13 +29,17 @@ def __init__(self, cfg): self._remove_handlers(logging.getLogger()) cdislogging.get_logger( - None, log_level="debug" if app_config["DEBUG"] else "warn" + None, + log_level="debug" if app_config["GUNICORN_DEBUG"] else "warn", + # None, + # log_level="warn", ) for logger_name in ["gunicorn", "gunicorn.error", "gunicorn.access"]: self._remove_handlers(logging.getLogger(logger_name)) cdislogging.get_logger( logger_name, - log_level="debug" if app_config["DEBUG"] else "info", + # log_level="debug" if app_config["DEBUG"] else "info", + log_level="info", )