sync lib-not-dr
This commit is contained in:
parent
1d05f9d4d7
commit
628de743eb
@ -7,7 +7,7 @@
|
||||
import time
|
||||
|
||||
from string import Template
|
||||
from typing import List, Tuple, Dict, Union, Optional
|
||||
from typing import List, Union, Optional
|
||||
from lib_not_dr.types.options import Options
|
||||
|
||||
from structers import LogMessage, FormattingMessage
|
||||
@ -17,7 +17,7 @@ class BaseFormatter(Options):
|
||||
name = 'BaseFormatter'
|
||||
|
||||
sub_formatter: List['BaseFormatter'] = []
|
||||
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:
|
||||
@ -25,7 +25,9 @@ class BaseFormatter(Options):
|
||||
|
||||
@classmethod
|
||||
def info(cls) -> str:
|
||||
cache = f"## {cls.name}\n"
|
||||
cache = "## Base Formatter\n"
|
||||
cache += BaseFormatter._info()
|
||||
cache += f"## {cls.name}\n"
|
||||
cache += cls._info()
|
||||
for formatter in cls.sub_formatter:
|
||||
cache += formatter.info()
|
||||
@ -33,7 +35,11 @@ class BaseFormatter(Options):
|
||||
|
||||
@classmethod
|
||||
def _info(cls) -> str:
|
||||
return ''
|
||||
info = cls.add_info('logger_name', 'logger name', 'The name of the logger')
|
||||
info += '\n'
|
||||
info += cls.add_info('logger_tag', 'logger tag', 'The tag of the logger')
|
||||
info += '\n'
|
||||
return info
|
||||
|
||||
def format_message(self,
|
||||
message: LogMessage,
|
||||
@ -44,9 +50,8 @@ class BaseFormatter(Options):
|
||||
:param template: 日志输出模板
|
||||
:return:
|
||||
"""
|
||||
basic_info = message.option()
|
||||
if basic_info['']
|
||||
message, info = self._format((message, message.option()))
|
||||
basic_info = message.format_for_message()
|
||||
message, info = self._format((message, basic_info))
|
||||
|
||||
if template is None:
|
||||
template = Template(self.default_template)
|
||||
@ -89,6 +94,14 @@ class TimeFormatter(BaseFormatter):
|
||||
return message
|
||||
|
||||
|
||||
class LevelFormatter(BaseFormatter):
|
||||
name = 'LevelFormatter'
|
||||
|
||||
@classmethod
|
||||
def _info(cls) -> str:
|
||||
return cls.add_info('level', 'log level', 'The log level')
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
print(TimeFormatter.info())
|
||||
print(TimeFormatter().format_message(LogMessage()))
|
||||
print(TimeFormatter().format_message(LogMessage(messages=['Hello World!'])))
|
||||
|
@ -36,6 +36,19 @@ class LogMessage(Options):
|
||||
self.log_time = time.time_ns()
|
||||
return False
|
||||
|
||||
def format_message(self) -> str:
|
||||
return self.split.join(self.messages) + self.end
|
||||
|
||||
def format_for_message(self) -> Dict[str, str]:
|
||||
basic_info = self.option()
|
||||
|
||||
if self.logger_tag is None:
|
||||
basic_info['logger_tag'] = ' '
|
||||
|
||||
basic_info['messages'] = self.format_message()
|
||||
|
||||
return basic_info
|
||||
|
||||
@property
|
||||
def create_msec_3(self) -> int:
|
||||
return int(self.log_time / 1000000) % 1000
|
||||
|
Loading…
Reference in New Issue
Block a user