PyRunner / core /logging.py
Akoda35's picture
Upload 11 files
a4ebfba verified
Raw
History Blame Contribute Delete
793 Bytes
"""
Custom logging formatters for PyRunner.
"""
import json
import logging
from datetime import datetime
class JsonFormatter(logging.Formatter):
"""
Format log records as JSON for easier parsing.
"""
def format(self, record: logging.LogRecord) -> str:
log_entry = {
"timestamp": datetime.fromtimestamp(record.created).isoformat(),
"level": record.levelname,
"logger": record.name,
"message": record.getMessage(),
"module": record.module,
"function": record.funcName,
"line": record.lineno,
}
# Add exception info if present
if record.exc_info:
log_entry["exception"] = self.formatException(record.exc_info)
return json.dumps(log_entry)