[3.1-3.5] FAM-Edge 全链路 - API-Gateway/Video-Preprocessor/AI-Orchestrator/模型适配器(基类+Ollama+Gemini)/熔断器/JSON解析容错 + 配置

This commit is contained in:
ericwyuan
2026-08-19 22:25:38 +08:00
parent da6b1c8d39
commit cdd1f21d4c
20 changed files with 1384 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
"""
日志工具 - 统一格式,带 task_id 作为 trace_id
"""
import logging
import sys
def setup_logger(name='fam-edge', level=logging.INFO):
logger = logging.getLogger(name)
if logger.handlers:
return logger
logger.setLevel(level)
handler = logging.StreamHandler(sys.stdout)
formatter = logging.Formatter(
'%(asctime)s [%(name)s] %(levelname)s %(message)s',
datefmt='%Y-%m-%d %H:%M:%S'
)
handler.setFormatter(formatter)
logger.addHandler(handler)
return logger
def log_task(logger, task_id, stage, message, level=logging.INFO, duration_ms=None):
parts = [f"[task_id={task_id}]", stage]
if duration_ms is not None:
parts.append(f"done in {duration_ms}ms")
parts.append(message)
logger.log(level, ' '.join(parts))