| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- """
- 调试日志工具
- 将调试信息写入 JSONL 文件
- 日志文件存放在 /tmp 目录,容器重启时自动清理
- """
- import json
- import traceback
- from datetime import datetime
- # 日志文件存放在 /tmp 目录,容器重启时自动清理
- LOG_FILE = "/tmp/debug.log.jsonl"
- ERROR_LOG_FILE = "/tmp/error.log.jsonl"
- def log_debug(event_name: str, data: dict = None):
- """
- 记录调试日志到 JSONL 文件
- Args:
- event_name: 事件名称
- data: 事件数据
- """
- entry = {
- "timestamp": datetime.now().isoformat(),
- "event": event_name,
- "data": data or {}
- }
- try:
- with open(LOG_FILE, "a") as f:
- f.write(json.dumps(entry) + "\n")
- except Exception as e:
- print(f"[debug_logger] Failed to write log: {e}")
- def log_error(event_name: str, error: Exception = None, data: dict = None):
- """
- 记录错误日志到 JSONL 文件
- Args:
- event_name: 事件名称
- error: 异常对象
- data: 额外数据
- """
- entry = {
- "timestamp": datetime.now().isoformat(),
- "event": event_name,
- "error_type": type(error).__name__ if error else None,
- "error_message": str(error) if error else None,
- "traceback": traceback.format_exc() if error else None,
- "data": data or {}
- }
- try:
- with open(ERROR_LOG_FILE, "a") as f:
- f.write(json.dumps(entry) + "\n")
- print(f"[log_error] {event_name}: {error}")
- except Exception as e:
- print(f"[debug_logger] Failed to write error log: {e}")
|