feat: 接入 LogHive 远程日志系统
- 添加 LogHiveHandler,启动时自动挂载到 root logger - 所有 logging 日志自动异步发送到 LogHive,不影响主业务 - vendored loghive-client 包,Docker 构建时自动安装 - API Key 缺失时自动跳过,不影响本地开发
This commit is contained in:
+11
@@ -22,6 +22,17 @@ async def lifespan(app: FastAPI):
|
||||
level=getattr(logging, settings.log_level),
|
||||
format="%(asctime)s [%(levelname)s] %(name)s: %(message)s",
|
||||
)
|
||||
# LogHive 远程日志(仅当配置了 API Key 时启用)
|
||||
if settings.loghive_api_key:
|
||||
from loghive_client import LogHiveHandler
|
||||
handler = LogHiveHandler(
|
||||
project=settings.loghive_project,
|
||||
api_key=settings.loghive_api_key,
|
||||
endpoint=settings.loghive_endpoint,
|
||||
level=logging.INFO,
|
||||
)
|
||||
logging.getLogger().addHandler(handler)
|
||||
logging.info("LogHive 日志系统已连接")
|
||||
from app.scheduler.jobs import shutdown_scheduler, start_scheduler
|
||||
start_scheduler()
|
||||
yield
|
||||
|
||||
Reference in New Issue
Block a user