Fix | MessageColorFormatter will remove \n before formating
This commit is contained in:
parent
24502447a4
commit
b5fbc36821
@ -30,6 +30,21 @@ if __name__ == '__main__':
|
||||
std_format.default_template = "${log_time}|${logger_name}|${logger_tag}|${log_source}:${log_line}|${log_function}|${level}|${messages}"
|
||||
|
||||
test_levels = (0, 2, 5, 7, 10, 30, 50, 90)
|
||||
|
||||
print("with color")
|
||||
|
||||
for test_level in test_levels:
|
||||
log_message.level = test_level
|
||||
print(std_format.format_message(log_message), end='')
|
||||
|
||||
print(std_format.as_markdown())
|
||||
|
||||
print("without color")
|
||||
|
||||
std_format.enable_color = False
|
||||
|
||||
for test_level in test_levels:
|
||||
log_message.level = test_level
|
||||
print(std_format.format_message(log_message), end='')
|
||||
|
||||
print(std_format.as_markdown())
|
||||
|
@ -185,6 +185,8 @@ class TraceFormatter(BaseFormatter):
|
||||
class StdFormatter(BaseFormatter):
|
||||
name = 'StdFormatter'
|
||||
|
||||
enable_color: bool = True
|
||||
|
||||
sub_formatter = [TimeFormatter(),
|
||||
LevelFormatter(),
|
||||
TraceFormatter()]
|
||||
@ -202,8 +204,13 @@ class StdFormatter(BaseFormatter):
|
||||
|
||||
def _format(self, message: FormattingMessage) -> FormattingMessage:
|
||||
super()._format(message)
|
||||
|
||||
if not self.enable_color:
|
||||
return message
|
||||
|
||||
for formatter in self.color_formatters:
|
||||
message = formatter._format(message)
|
||||
|
||||
return message
|
||||
|
||||
@classmethod
|
||||
@ -232,7 +239,24 @@ if __name__ == '__main__':
|
||||
print(StdFormatter.info())
|
||||
print(StdFormatter().format_message(log_message))
|
||||
|
||||
std_format = StdFormatter()
|
||||
std_format.default_template = "${log_time}|${logger_name}|${logger_tag}|${log_source}:${log_line}|${log_function}|${level}|${messages}"
|
||||
|
||||
test_levels = (0, 2, 5, 7, 10, 30, 50, 90)
|
||||
|
||||
print("with color")
|
||||
|
||||
for test_level in test_levels:
|
||||
log_message.level = test_level
|
||||
print(StdFormatter().format_message(log_message), end='')
|
||||
print(std_format.format_message(log_message), end='')
|
||||
|
||||
print("without color")
|
||||
|
||||
std_format.enable_color = False
|
||||
|
||||
for test_level in test_levels:
|
||||
log_message.level = test_level
|
||||
print(std_format.format_message(log_message), end='')
|
||||
|
||||
print(std_format.as_markdown())
|
||||
|
||||
|
@ -251,5 +251,8 @@ class MessageColorFormatter(BaseColorFormatter):
|
||||
# 添加颜色
|
||||
if color == '' or color == RESET_COLOR:
|
||||
return message
|
||||
message[1]['messages'] = f'{color}{message[1]["messages"]}{RESET_COLOR}'
|
||||
if message[1]['messages'][-1] == '\n':
|
||||
message[1]['messages'] = f'{color}{message[1]["messages"][:-1]}{RESET_COLOR}\n'
|
||||
else:
|
||||
message[1]['messages'] = f'{color}{message[1]["messages"]}{RESET_COLOR}'
|
||||
return message
|
||||
|
@ -55,3 +55,6 @@ class LogMessage(Options):
|
||||
|
||||
|
||||
FormattingMessage = Tuple[LogMessage, Dict[str, str]]
|
||||
|
||||
if __name__ == '__main__':
|
||||
print(LogMessage().as_markdown())
|
||||
|
Loading…
Reference in New Issue
Block a user