mirror of
https://github.com/bellingcat/auto-archiver.git
synced 2026-06-12 21:28:29 +03:00
fix for unexpected types for json.dump
This commit is contained in:
@@ -2,6 +2,13 @@ from loguru import logger
|
|||||||
import json
|
import json
|
||||||
|
|
||||||
|
|
||||||
|
def type_serializer(obj):
|
||||||
|
"""Fallback function for objects json can't handle."""
|
||||||
|
if isinstance(obj, type):
|
||||||
|
return obj.__name__
|
||||||
|
return str(obj)
|
||||||
|
|
||||||
|
|
||||||
def extract_location(record, short=False):
|
def extract_location(record, short=False):
|
||||||
"""Extracts the file name, function name, and line number from the log record."""
|
"""Extracts the file name, function name, and line number from the log record."""
|
||||||
if short:
|
if short:
|
||||||
@@ -35,11 +42,11 @@ def serialize_for_console(record):
|
|||||||
subset.pop("time", None)
|
subset.pop("time", None)
|
||||||
if not subset:
|
if not subset:
|
||||||
return ""
|
return ""
|
||||||
return json.dumps(subset, ensure_ascii=False)
|
return json.dumps(subset, ensure_ascii=False, default=type_serializer)
|
||||||
|
|
||||||
|
|
||||||
def serialize(record):
|
def serialize(record):
|
||||||
return json.dumps(extract_log_data(record), ensure_ascii=False)
|
return json.dumps(extract_log_data(record), ensure_ascii=False, default=type_serializer)
|
||||||
|
|
||||||
|
|
||||||
def patching(record):
|
def patching(record):
|
||||||
|
|||||||
Reference in New Issue
Block a user