mirror of
https://github.com/ARM-software/workload-automation.git
synced 2025-03-21 18:18:41 +00:00
utils/log: maintain indent for buffered records
Ensure buffered records are indented properly by saving the indent level at the time the record was generated as part of the record, and preferring that over the current indent level inside LineFormatter.
This commit is contained in:
parent
7cf0b881c1
commit
c1a0f842d0
@ -225,15 +225,19 @@ class InitHandler(logging.handlers.BufferingHandler):
|
||||
super(InitHandler, self).__init__(capacity)
|
||||
self.targets = []
|
||||
|
||||
def add_target(self, target):
|
||||
if target not in self.targets:
|
||||
self.targets.append(target)
|
||||
def emit(self, record):
|
||||
record.indent_level = _indent_level
|
||||
super(InitHandler, self).emit(record)
|
||||
|
||||
def flush(self):
|
||||
for target in self.targets:
|
||||
self.flush_to_target(target)
|
||||
self.buffer = []
|
||||
|
||||
def add_target(self, target):
|
||||
if target not in self.targets:
|
||||
self.targets.append(target)
|
||||
|
||||
def flush_to_target(self, target):
|
||||
for record in self.buffer:
|
||||
target.emit(record)
|
||||
@ -250,7 +254,8 @@ class LineFormatter(logging.Formatter):
|
||||
if self.usesTime():
|
||||
record.asctime = self.formatTime(record, self.datefmt)
|
||||
|
||||
indent = _indent_width * _indent_level
|
||||
indent_level = getattr(record, 'indent_level', _indent_level)
|
||||
indent = _indent_width * indent_level
|
||||
d = record.__dict__
|
||||
parts = []
|
||||
for line in record.message.split('\n'):
|
||||
|
Loading…
x
Reference in New Issue
Block a user