Source code for alogging.formatters.pprint
import logging
import pprint
[docs]class PPrintRecordFormatter(logging.Formatter):
'''Pretty print the __dict__ of the log record.'''
def __init__(self, fmt=None, datefmt=None, indent=1, style='%'):
super(PPrintRecordFormatter, self).__init__(fmt=fmt,
datefmt=datefmt,
style=style)
self.indent = indent
[docs] def format(self, record):
res_dict = record.__dict__.copy()
message = record.getMessage()
res_dict['message'] = message
rendered = super().format(record)
res = '\n'.join([rendered,
pprint.pformat(res_dict, indent=self.indent)])
return res
def __repr__(self):
buf = '%s(fmt="%s", indent=%s, style=%s)' % (self.__class__.__name__,
self._fmt,
self.indent,
self._style)
return buf