Spaces:
Running
Running
| import logging | |
| import json | |
| from datetime import datetime | |
| from pathlib import Path | |
| class DashboardLogHandler(logging.Handler): | |
| def __init__(self, log_file="data/system_logs.jsonl"): | |
| super().__init__() | |
| self.log_file = Path(log_file) | |
| self.log_file.parent.mkdir(parents=True, exist_ok=True) | |
| def emit(self, record): | |
| try: | |
| log_entry = { | |
| "timestamp": datetime.now().isoformat(), | |
| "level": record.levelname, | |
| "module": record.module, | |
| "message": record.getMessage(), | |
| "line": record.lineno if hasattr(record, "lineno") else None, | |
| } | |
| with open(self.log_file, "a") as f: | |
| f.write(json.dumps(log_entry, ensure_ascii=False) + "\n") | |
| except Exception: | |
| self.handleError(record) | |