26 lines
820 B
Python
26 lines
820 B
Python
"""统一日志格式,便于 grep / 日志平台解析。"""
|
|
from __future__ import annotations
|
|
|
|
import logging
|
|
import os
|
|
|
|
|
|
def configure_logging() -> None:
|
|
level_name = os.getenv("LOG_LEVEL", "INFO").upper()
|
|
level = getattr(logging, level_name, logging.INFO)
|
|
|
|
fmt = "%(asctime)s | %(levelname)s | %(name)s | %(message)s"
|
|
datefmt = "%Y-%m-%d %H:%M:%S"
|
|
|
|
root = logging.getLogger()
|
|
if not root.handlers:
|
|
handler = logging.StreamHandler()
|
|
handler.setFormatter(logging.Formatter(fmt=fmt, datefmt=datefmt))
|
|
root.addHandler(handler)
|
|
root.setLevel(level)
|
|
|
|
# 降噪:第三方库默认 WARNING
|
|
logging.getLogger("httpx").setLevel(logging.WARNING)
|
|
logging.getLogger("httpcore").setLevel(logging.WARNING)
|
|
logging.getLogger("openai").setLevel(logging.WARNING)
|