Skip to content

Commit 24e94cf

Browse files
committed
feat: Improved default fmt_dict for json formatter
1 parent 7db6268 commit 24e94cf

File tree

1 file changed

+16
-4
lines changed

1 file changed

+16
-4
lines changed

freqtrade/loggers/json_formatter.py

+16-4
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,20 @@ class JsonFormatter(logging.Formatter):
1313

1414
def __init__(
1515
self,
16-
fmt_dict: dict = None,
16+
fmt_dict: dict | None = None,
1717
time_format: str = "%Y-%m-%dT%H:%M:%S",
1818
msec_format: str = "%s.%03dZ",
1919
):
20-
self.fmt_dict = fmt_dict if fmt_dict is not None else {"message": "message"}
20+
self.fmt_dict = (
21+
fmt_dict
22+
if fmt_dict is not None
23+
else {
24+
"timestamp": "asctime",
25+
"level": "levelname",
26+
"logger": "name",
27+
"message": "message",
28+
}
29+
)
2130
self.default_time_format = time_format
2231
self.default_msec_format = msec_format
2332
self.datefmt = None
@@ -28,7 +37,10 @@ def usesTime(self) -> bool:
2837
"""
2938
return "asctime" in self.fmt_dict.values()
3039

31-
def formatMessage(self, record) -> dict:
40+
def formatMessage(self, record) -> str:
41+
raise NotImplementedError()
42+
43+
def formatMessageDict(self, record) -> dict:
3244
"""
3345
Return a dictionary of the relevant LogRecord attributes instead of a string.
3446
KeyError is raised if an unknown attribute is provided in the fmt_dict.
@@ -45,7 +57,7 @@ def format(self, record) -> str:
4557
if self.usesTime():
4658
record.asctime = self.formatTime(record, self.datefmt)
4759

48-
message_dict = self.formatMessage(record)
60+
message_dict = self.formatMessageDict(record)
4961

5062
if record.exc_info:
5163
# Cache the traceback text to avoid converting it multiple times

0 commit comments

Comments
 (0)