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