@@ -12,7 +12,7 @@ class InfluxLoggingHandler(logging.Handler):
12
12
The raw input will be passed on to the influx write api.
13
13
"""
14
14
15
- DEFAULT_LOG_RECORD_KEYS = logging .makeLogRecord ({}).__dict__ .keys ()
15
+ DEFAULT_LOG_RECORD_KEYS = list ( logging .makeLogRecord ({}).__dict__ .keys ()) + [ 'message' ]
16
16
17
17
def __init__ (self , * , url , token , org , bucket , client_args = None , write_api_args = None ):
18
18
"""
@@ -44,8 +44,9 @@ def close(self) -> None:
44
44
def emit (self , record : logging .LogRecord ) -> None :
45
45
"""Emit a record via the influxDB WriteApi."""
46
46
try :
47
+ message = self .format (record )
47
48
extra = self ._get_extra_values (record )
48
- return self .write_api .write (record = record . msg , ** extra )
49
+ return self .write_api .write (record = message , ** extra )
49
50
except (KeyboardInterrupt , SystemExit ):
50
51
raise
51
52
except (Exception ,):
@@ -57,8 +58,7 @@ def _get_extra_values(self, record: logging.LogRecord) -> dict:
57
58
58
59
Example: `logging.debug(msg, extra={key: value, ...})`.
59
60
"""
60
- extra = {key : value
61
- for key , value in record .__dict__ .items () if key not in self .DEFAULT_LOG_RECORD_KEYS }
62
- if 'bucket' not in extra .keys ():
63
- extra ['bucket' ] = self .bucket
61
+ extra = {'bucket' : self .bucket }
62
+ extra .update ({key : value for key , value in record .__dict__ .items ()
63
+ if key not in self .DEFAULT_LOG_RECORD_KEYS })
64
64
return extra
0 commit comments