rtm-class-ai / src /core /logging.py
nbintang
fix: logging
383b8a3
Raw
History Blame Contribute Delete
1.04 kB
import logging
import os
import sys
def _resolve_log_level() -> int:
# Prefer app-specific env var; fallback keeps backward compatibility.
level_name = (os.getenv("APP_LOG_LEVEL") or os.getenv("LOG_LEVEL") or "INFO")
return getattr(logging, level_name.strip().upper(), logging.INFO)
def _resolve_log_stream():
# stderr is usually captured most reliably by hosted runtimes.
if (os.getenv("APP_LOG_STREAM") or "stderr").strip().lower() == "stdout":
return sys.stdout
return sys.stderr
def configure_logging() -> None:
level = _resolve_log_level()
logging.basicConfig(
level=level,
format="%(asctime)s | %(levelname)s | %(name)s | %(message)s",
stream=_resolve_log_stream(),
force=True,
)
# Ensure these loggers inherit the selected level in all runtimes.
for logger_name in (
"src",
"httpx",
"mcp.client.streamable_http",
"chromadb.telemetry.product.posthog",
):
logging.getLogger(logger_name).setLevel(level)