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