Add configurable logging from settings

This commit is contained in:
phil 2025-02-20 02:01:18 +01:00
parent 435c11b6ca
commit e925f21762
3 changed files with 14 additions and 0 deletions

View file

@ -6,6 +6,9 @@ from typing import Annotated
from pathlib import Path from pathlib import Path
from datetime import datetime from datetime import datetime
import logging import logging
import logging.config
import importlib.resources
from yaml import safe_load
from urllib.parse import urlencode from urllib.parse import urlencode
from contextlib import asynccontextmanager from contextlib import asynccontextmanager
@ -46,6 +49,16 @@ from oidc_test.resource_server import resource_server
logger = logging.getLogger("oidc-test") logger = logging.getLogger("oidc-test")
if settings.log:
assert __package__ is not None
with (
importlib.resources.path(__package__) as package_path,
open(package_path / settings.log_config_file) as f,
):
logging_config = safe_load(f)
logging.config.dictConfig(logging_config)
breakpoint()
templates = Jinja2Templates(Path(__file__).parent / "templates") templates = Jinja2Templates(Path(__file__).parent / "templates")

View file

@ -104,6 +104,7 @@ class Settings(BaseSettings):
auth: AuthSettings = AuthSettings() auth: AuthSettings = AuthSettings()
secret_key: str = "".join(random.choice(string.ascii_letters) for _ in range(16)) secret_key: str = "".join(random.choice(string.ascii_letters) for _ in range(16))
log: bool = False log: bool = False
log_config_file: str = "log_conf.yaml"
insecure: Insecure = Insecure() insecure: Insecure = Insecure()
cors_origins: list[str] = [] cors_origins: list[str] = []
debug_token: bool = False debug_token: bool = False