Spaces:
Sleeping
Sleeping
File size: 1,043 Bytes
62516b8 08b192a 62516b8 383b8a3 62516b8 383b8a3 62516b8 08b192a 62516b8 383b8a3 08b192a 62516b8 383b8a3 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | 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)
|