Files
sentinel-home-ai/fam-edge/src/fam_edge/logger.py

29 lines
806 B
Python

"""
日志工具 - 统一格式,带 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))