z230
This commit is contained in:
@@ -226,6 +226,7 @@ def setup_logging(
|
||||
gateway: Optional[str] = None,
|
||||
token: Optional[str] = None,
|
||||
env: Optional[str] = None,
|
||||
quiet_loggers: Optional[List[str]] = None,
|
||||
fmt: str = "%(asctime)s | %(levelname)s | %(name)s | %(message)s",
|
||||
datefmt: str = "%Y-%m-%d %H:%M:%S",
|
||||
spool_dir: Optional[str] = None,
|
||||
@@ -245,7 +246,13 @@ def setup_logging(
|
||||
Returns:
|
||||
nakonfigurovaný root logger (lze i logging.getLogger()).
|
||||
"""
|
||||
lvl_name = (level or DEFAULT_LEVEL).upper()
|
||||
# Konfiguraci čteme z os.environ AŽ TADY (call-time), ne při importu modulu.
|
||||
# Důvod: skripty často načítají vlastní .env (do os.environ) až po importu
|
||||
# této knihovny — kdybychom četli při importu, token/gateway bychom minuli.
|
||||
gw = gateway or os.environ.get("CENTRAL_LOG_GATEWAY", "http://192.168.1.76:8770")
|
||||
tok = token or os.environ.get("CENTRAL_LOG_TOKEN", "change-this-shared-secret")
|
||||
ev = env or os.environ.get("CENTRAL_LOG_ENV", "prod")
|
||||
lvl_name = (level or os.environ.get("CENTRAL_LOG_LEVEL", "INFO")).upper()
|
||||
lvl = getattr(logging, lvl_name, logging.INFO)
|
||||
|
||||
if keep_file is None:
|
||||
@@ -254,6 +261,13 @@ def setup_logging(
|
||||
root = logging.getLogger()
|
||||
root.setLevel(lvl)
|
||||
|
||||
# Ztiš upovídané knihovny (jinak root@INFO chytá jejich šum do centrálu).
|
||||
# Předej quiet_loggers=[] pro vypnutí, nebo vlastní seznam.
|
||||
_default_quiet = ["httpx", "httpcore", "urllib3", "anthropic", "openai",
|
||||
"PIL", "asyncio", "fdb", "fontTools", "pdfminer"]
|
||||
for _name in (_default_quiet if quiet_loggers is None else quiet_loggers):
|
||||
logging.getLogger(_name).setLevel(logging.WARNING)
|
||||
|
||||
# odstraň případné staré handlery (idempotentní setup)
|
||||
for h in list(root.handlers):
|
||||
root.removeHandler(h)
|
||||
@@ -276,9 +290,9 @@ def setup_logging(
|
||||
)
|
||||
sender = _GatewaySender(
|
||||
app_name=app_name,
|
||||
gateway=gateway or DEFAULT_GATEWAY,
|
||||
token=token or DEFAULT_TOKEN,
|
||||
env=env or DEFAULT_ENV,
|
||||
gateway=gw,
|
||||
token=tok,
|
||||
env=ev,
|
||||
spool_dir=spool_base / "_log_spool",
|
||||
)
|
||||
ch = CentralLogHandler(sender)
|
||||
@@ -290,7 +304,7 @@ def setup_logging(
|
||||
atexit.register(sender.flush_and_stop)
|
||||
|
||||
root.info("central_logging v1.0 inicializováno (app=%s, keep_file=%s, gateway=%s)",
|
||||
app_name, keep_file, gateway or DEFAULT_GATEWAY)
|
||||
app_name, keep_file, gw)
|
||||
return root
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user