| import json | |
| import logging | |
| class JsonFileHandler(logging.FileHandler): | |
| def __init__(self, filename, mode="a", encoding=None, delay=False): | |
| super().__init__(filename, mode, encoding, delay) | |
| def emit(self, record): | |
| json_data = json.loads(self.format(record)) | |
| with open(self.baseFilename, "w", encoding="utf-8") as f: | |
| json.dump(json_data, f, ensure_ascii=False, indent=4) | |
| class JsonFormatter(logging.Formatter): | |
| def format(self, record): | |
| return record.msg | |