This commit is contained in:
John Lancaster
2026-07-30 21:16:48 -05:00
parent 3d6daec561
commit 8afc462a6d
2 changed files with 15 additions and 18 deletions
+3 -3
View File
@@ -9,10 +9,10 @@ def main() -> None:
uvicorn.run(
"transcription.app:create_app",
factory=True,
host=settings.server.host,
port=settings.server.port,
host=settings.host,
port=settings.port,
log_level=LOGGING_CONFIG.get("root", {}).get("level", "info").lower(),
reload=settings.server.reload,
reload=settings.reload,
)
+12 -15
View File
@@ -9,12 +9,12 @@ import logging.config
from enum import StrEnum
from functools import cache
from pathlib import Path
from typing import Any
from typing import Literal
from pydantic import BaseModel
from pydantic import ConfigDict
from pydantic import Field
from pydantic_settings import BaseSettings
from pydantic_settings import CliImplicitFlag
from pydantic_settings import SettingsConfigDict
logger = logging.getLogger(__name__)
@@ -24,15 +24,6 @@ class Provider(StrEnum):
OPENROUTER = "openrouter"
class ServerSettings(BaseModel):
model_config = ConfigDict(frozen=True)
host: str = "0.0.0.0"
port: int = 8000
log_level: Literal["critical", "error", "warning", "info", "debug", "trace"] = "info"
reload: bool = False
class Settings(BaseSettings):
model_config = SettingsConfigDict(
env_file=".env",
@@ -42,7 +33,10 @@ class Settings(BaseSettings):
)
# --- NiceGUI Server ---
server: ServerSettings = Field(default_factory=ServerSettings)
host: str = "0.0.0.0"
port: int = 8000
log_level: Literal["critical", "error", "warning", "info", "debug", "trace"] = "info"
reload: CliImplicitFlag[bool] = False
# --- AI provider ---
provider: Provider = Provider.OPENROUTER
@@ -84,7 +78,7 @@ def get_settings(**kwargs) -> Settings:
return Settings(**kwargs)
LOGGING_CONFIG: dict[str, object] = {
LOGGING_CONFIG: dict[str, Any] = {
"version": 1,
"disable_existing_loggers": False,
"formatters": {
@@ -114,7 +108,10 @@ LOGGING_CONFIG: dict[str, object] = {
}
def configure_logging() -> None:
def configure_logging(settings: Settings | None = None) -> None:
"""Configure root logging once at startup."""
logging.config.dictConfig(LOGGING_CONFIG)
cfg = LOGGING_CONFIG.copy()
active_settings = settings or get_settings()
cfg["loggers"]["transcription"]["level"] = active_settings.log_level.upper()
logging.config.dictConfig(cfg)
logger.debug("Logging configured")