Spaces:
Running
Running
File size: 2,084 Bytes
affeafa 3d758c5 affeafa | 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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | import logging
import os
import sys
from typing import Optional
log_level_value = os.getenv("LOG_LEVEL", "INFO")
log_level = getattr(logging, log_level_value.upper(), logging.INFO)
log_format = "%(asctime)s - %(levelname)s - %(name)s - [%(process)d] %(message)s"
_default_root_handler: logging.Handler | None = None
def _is_agent_cli_invocation() -> bool:
script = os.path.basename(sys.argv[0]).lower()
if script != "agent.py":
return False
return any(arg in {"start", "console", "download-files", "dev"} for arg in sys.argv[1:])
def _configure_default_root_handler() -> None:
"""Configure root logging only when no handler is already installed."""
global _default_root_handler
if _is_agent_cli_invocation():
return
root = logging.getLogger()
if root.handlers:
root.setLevel(log_level)
return
handler = logging.StreamHandler(sys.stdout)
handler.setFormatter(logging.Formatter(log_format))
root.addHandler(handler)
root.setLevel(log_level)
_default_root_handler = handler
def detach_default_root_handler() -> None:
"""Detach the handler installed by this module, if present."""
global _default_root_handler
if _default_root_handler is None:
return
root = logging.getLogger()
if _default_root_handler in root.handlers:
root.removeHandler(_default_root_handler)
_default_root_handler = None
_configure_default_root_handler()
logging.getLogger("httpx").setLevel(logging.WARNING)
logging.getLogger("httpcore").setLevel(logging.WARNING)
logging.getLogger("asyncio").setLevel(logging.WARNING)
logging.getLogger("transformers").setLevel(logging.WARNING)
logging.getLogger("torch").setLevel(logging.WARNING)
logging.getLogger("torchaudio").setLevel(logging.WARNING)
logging.getLogger("urllib3").setLevel(logging.WARNING)
logging.getLogger("filelock").setLevel(logging.WARNING)
def get_logger(name: Optional[str] = None) -> logging.Logger:
logger_name = name or "open_voice_agent"
return logging.getLogger(logger_name)
logger = get_logger()
|