8000 Merge pull request #133 from bringhurst/unused-very-custom · madzak/python-json-logger@bd7417e · GitHub
[go: up one dir, main page]

Skip to content
This repository was archived by the owner on Dec 21, 2024. It is now read-only.

Commit bd7417e

Browse files
authored
Merge pull request #133 from bringhurst/unused-very-custom
Workaround logging.LogRecord.msg type of str
2 parents 81c7b71 + fb038d6 commit bd7417e

File tree

2 files changed

+11
-8
lines changed

2 files changed

+11
-8
lines changed

setup.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ namespace_packages = true
1717
disallow_any_unimported = true
1818
disallow_any_expr = false
1919
disallow_any_decorated = true
20-
disallow_any_explicit = true
20+
disallow_any_explicit = false
2121
disallow_any_generics = false
2222
disallow_subclassing_any = true
2323

src/pythonjsonlogger/jsonlogger.py

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import traceback
1010
import importlib
1111

12-
from typing import Dict, Union, List, Tuple
12+
from typing import Any, Dict, Union, List, Tuple
1313

1414
from inspect import istraceback
1515

@@ -163,7 +163,7 @@ def parse(self) -> List[str]:
163163
else:
164164
return []
165165

166-
def add_fields(self, log_record, record, message_dict):
166+
def add_fields(self, log_record: Dict[str, Any], record: logging.LogRecord, message_dict: Dict[str, Any]) -> None:
167167
"""
168168
Override this method to implement custom logic for adding fields.
169169
"""
@@ -195,15 +195,17 @@ def jsonify_log_record(self, log_record):
195195
indent=self.json_indent,
196196
ensure_ascii=self.json_ensure_ascii)
197197

198-
def serialize_log_record(self, log_record):
198+
def serialize_log_record(self, log_record: Dict[str, Any]) -> str:
199199
"""Returns the final representation of the log record."""
200200
return "%s%s" % (self.prefix, self.jsonify_log_record(log_record))
201201

202-
def format(self, record):
202+
def format(self, record: logging.LogRecord) -> str:
203203
"""Formats a log record and serializes to json"""
204-
message_dict = {}
205-
if isinstance(record.msg, dict):
206-
message_dict = record.msg
204+
message_dict: Dict[str, Any] = {}
205+
# FIXME: logging.LogRecord.msg and logging.LogRecord.message in typeshed
206+
# are always type of str. We shouldn't need to override that.
207+
if isinstance(record.msg, dict): # type: ignore
208+
message_dict = record.msg # type: ignore
207209
record.message = None
208210
else:
209211
record.message = record.getMessage()
@@ -226,6 +228,7 @@ def format(self, record):
226228
# Python2.7 doesn't have stack_info.
227229
pass
228230

231+
log_record: Dict[str, Any]
229232
log_record = OrderedDict()
230233
self.add_fields(log_record, record, message_dict)
231234
log_record = self.process_log_record(log_record)

0 commit comments

Comments
 (0)
0