Coverage for sonar_backend/utils.py: 91%
11 statements
« prev ^ index » next coverage.py v7.15.4, created at 2026-08-10 03:22 +0000
« prev ^ index » next coverage.py v7.15.4, created at 2026-08-10 03:22 +0000
1import logging
3from django.utils.timezone import now
4import json_log_formatter
7class CustomisedJSONFormatter(json_log_formatter.JSONFormatter):
8 def json_record(self, message: str, extra: dict, record: logging.LogRecord):
9 extra["filename"] = record.filename
10 extra["funcName"] = record.funcName
12 extra["secs"] = round(record.msecs / 1000, 4)
13 if record.exc_info:
14 extra["exc_info"] = self.formatException(record.exc_info)
16 return {
17 "app": "sonar-backend",
18 "message": message,
19 "timestamp": now().isoformat(),
20 "level": record.levelname,
21 "context": extra,
22 }