From 096c9d09efb1f1bc8fe232ec679ceee781b9b03e Mon Sep 17 00:00:00 2001 From: msramalho <19508417+msramalho@users.noreply.github.com> Date: Thu, 8 Jan 2026 15:18:19 +0000 Subject: [PATCH] fix for unexpected types for json.dump --- src/auto_archiver/utils/custom_logger.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/auto_archiver/utils/custom_logger.py b/src/auto_archiver/utils/custom_logger.py index 0b6c36c..8228d0f 100644 --- a/src/auto_archiver/utils/custom_logger.py +++ b/src/auto_archiver/utils/custom_logger.py @@ -2,6 +2,13 @@ from loguru import logger 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): """Extracts the file name, function name, and line number from the log record.""" if short: @@ -35,11 +42,11 @@ def serialize_for_console(record): subset.pop("time", None) if not subset: return "" - return json.dumps(subset, ensure_ascii=False) + return json.dumps(subset, ensure_ascii=False, default=type_serializer) 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):