# agents/logger.py import json import os from datetime import datetime LOG_FILE = "logs/repl_log.jsonl" def log_event(event_type, message, extra=None): os.makedirs(os.path.dirname(LOG_FILE), exist_ok=True) entry = { "timestamp": datetime.utcnow().isoformat(), "event": event_type, # например: 'thought', 'input', 'error', 'action' "message": message, } if extra: entry["extra"] = extra with open(LOG_FILE, "a", encoding="utf-8") as f: f.write(json.dumps(entry, ensure_ascii=False) + "\n") def log_repl_snapshot(snapshot: dict): """ Запись полной структуры REPL-контекста в лог, с возможностью последующего анализа. """ os.makedirs(os.path.dirname(LOG_FILE), exist_ok=True) entry = { "timestamp": datetime.utcnow().isoformat(), "event": "repl_snapshot", "message": "Полный REPL-контекст", "context": snapshot, } with open(LOG_FILE, "a", encoding="utf-8") as f: f.write(json.dumps(entry, ensure_ascii=False) + "\n")