Add dectect in color support in color formatter

This commit is contained in:
shenjack 2023-11-06 21:30:46 +08:00
parent 7924397195
commit d4141427e1
Signed by: shenjack
GPG Key ID: 7B1134A979775551
3 changed files with 13 additions and 7 deletions

View File

@ -18,3 +18,9 @@ if __name__ == '__main__':
logger.warn('Hello World!')
logger.error('Hello World!')
logger.fatal('Hello World!')
logger.info('this message if from tag', tag='test')
logger.debug('this debug log if from admin', tag='admin')
logger.debug('and this message ends with none', end=' ')
logger.trace('so this message will be in the same line', tag='same line!')

View File

@ -22,7 +22,7 @@ class BaseFormatter(Options):
sub_formatter: List['BaseFormatter'] = []
color_formatters: List['BaseColorFormatter'] = []
default_template: str = '${log_time}|${logger_name}|${logger_tag}|${level}|${messages}'
default_template: str = '${log_time}|${logger_name}:${logger_tag}|${level}|${messages}'
@classmethod
def add_info(cls, match: str, to: str, description: str) -> str:

View File

@ -4,7 +4,7 @@
# All rights reserved
# -------------------------------
from lib_not_dr.logger import LogLevel
from lib_not_dr.logger import LogLevel, COLOR_SUPPORT
from lib_not_dr.logger.formatter import BaseFormatter
from lib_not_dr.logger.structure import FormattingMessage
@ -81,7 +81,7 @@ class LevelColorFormatter(BaseColorFormatter):
return cls.add_info('colored level', 'level', 'A colored level')
def _format(self, message: FormattingMessage) -> FormattingMessage:
if isinstance(message[1].get('level'), int):
if isinstance(message[1].get('level'), int) or not COLOR_SUPPORT:
return message
# 获取颜色
color = self.get_color(message)
@ -119,7 +119,7 @@ class LoggerColorFormatter(BaseColorFormatter):
return cls.add_info('colored logger name', 'logger name', 'A colored logger name')
def _format(self, message: FormattingMessage) -> FormattingMessage:
if message[1].get('logger_name') is None:
if message[1].get('logger_name') is None or not COLOR_SUPPORT:
return message
# 获取颜色
color = self.get_color(message)
@ -159,7 +159,7 @@ class TimeColorFormatter(BaseColorFormatter):
return cls.add_info('colored time', 'time', 'A colored time')
def _format(self, message: FormattingMessage) -> FormattingMessage:
if message[1].get('log_time') is None:
if message[1].get('log_time') is None or not COLOR_SUPPORT:
return message
# 获取颜色
color = self.get_color(message)
@ -202,7 +202,7 @@ class TraceColorFormatter(BaseColorFormatter):
return info
def _format(self, message: FormattingMessage) -> FormattingMessage:
if message[0].stack_trace is None:
if message[0].stack_trace is None or not COLOR_SUPPORT:
return message
# 获取颜色
color = self.get_color(message)
@ -242,7 +242,7 @@ class MessageColorFormatter(BaseColorFormatter):
return cls.add_info('colored message', 'message', 'A colored message')
def _format(self, message: FormattingMessage) -> FormattingMessage:
if message[1].get('messages') is None:
if message[1].get('messages') is None or not COLOR_SUPPORT:
return message
# 获取颜色
color = self.get_color(message)