Fix | 修复了一些之前没发现的问题(
This commit is contained in:
parent
4fa5089819
commit
a8f326dca9
@ -6,7 +6,7 @@
|
|||||||
- `Outstream`
|
- `Outstream`
|
||||||
- `FileCacheOutputStream`
|
- `FileCacheOutputStream`
|
||||||
- 现在如果输入的文件名包含 `{time}`
|
- 现在如果输入的文件名包含 `{time}`
|
||||||
- 会自动替换为 `time.strftime("%Y-%m-%d|%H-%M-%S")`
|
- 会自动替换为 `time.strftime("%Y-%m-%d_%H-%M-%S")`
|
||||||
|
|
||||||
## Nuitka Compiler Helper
|
## Nuitka Compiler Helper
|
||||||
|
|
||||||
|
@ -86,7 +86,11 @@ class ConfigStorage(Options):
|
|||||||
return sorted(cycles_set) # 返回排序后的循环列表
|
return sorted(cycles_set) # 返回排序后的循环列表
|
||||||
|
|
||||||
def parse_level(self, level_config: dict) -> Optional[int]:
|
def parse_level(self, level_config: dict) -> Optional[int]:
|
||||||
""" """
|
"""
|
||||||
|
Parse level config
|
||||||
|
:param level_config:
|
||||||
|
:return:
|
||||||
|
"""
|
||||||
level_found: Tuple[Optional[int], Optional[str]] = (
|
level_found: Tuple[Optional[int], Optional[str]] = (
|
||||||
level_config.get("level"),
|
level_config.get("level"),
|
||||||
level_config.get("level_name"),
|
level_config.get("level_name"),
|
||||||
@ -273,19 +277,20 @@ class ConfigStorage(Options):
|
|||||||
for logger_name, config in logger_config.items():
|
for logger_name, config in logger_config.items():
|
||||||
# get output for logger
|
# get output for logger
|
||||||
if "outputs" in config:
|
if "outputs" in config:
|
||||||
if self.outputs.get(config["outputs"]) is None:
|
for i, output_name in enumerate(config["outputs"]):
|
||||||
if self.fail_outputs.get(config["outputs"]) is None:
|
if self.outputs.get(output_name) is None:
|
||||||
self.log.error(
|
if self.fail_outputs.get(output_name) is None:
|
||||||
f'Logger {logger_name} output {config["output"]} not found, ignored'
|
self.log.error(
|
||||||
)
|
f'Logger {logger_name} output {output_name} not found, ignored'
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
self.log.error(
|
||||||
|
f'Logger {logger_name} require a fail output {output_name}, ignored'
|
||||||
|
)
|
||||||
|
env.fail_loggers[logger_name] = config
|
||||||
|
continue
|
||||||
else:
|
else:
|
||||||
self.log.error(
|
config["outputs"][i] = self.outputs[output_name]
|
||||||
f'Logger {logger_name} require a fail output {config["output"]}, ignored'
|
|
||||||
)
|
|
||||||
env.fail_loggers[logger_name] = config
|
|
||||||
continue
|
|
||||||
else:
|
|
||||||
config["outputs"] = self.outputs[config["outputs"]]
|
|
||||||
if level := self.parse_level(config) is not None:
|
if level := self.parse_level(config) is not None:
|
||||||
config["level"] = level
|
config["level"] = level
|
||||||
if "level_name" in config:
|
if "level_name" in config:
|
||||||
|
@ -75,10 +75,11 @@ class BaseFormatter(Options):
|
|||||||
elif isinstance(template, str):
|
elif isinstance(template, str):
|
||||||
template = Template(template)
|
template = Template(template)
|
||||||
|
|
||||||
|
print(message, info, template)
|
||||||
try:
|
try:
|
||||||
return template.substitute(**info)
|
return template.substitute(info)
|
||||||
except (KeyError, ValueError):
|
except (KeyError, ValueError):
|
||||||
return template.safe_substitute(**info)
|
return template.safe_substitute(info)
|
||||||
|
|
||||||
def _format(self, message: FormattingMessage) -> FormattingMessage:
|
def _format(self, message: FormattingMessage) -> FormattingMessage:
|
||||||
"""
|
"""
|
||||||
|
@ -44,6 +44,8 @@ class BaseColorFormatter(BaseFormatter):
|
|||||||
}
|
}
|
||||||
|
|
||||||
def get_color(self, message: FormattingMessage) -> str:
|
def get_color(self, message: FormattingMessage) -> str:
|
||||||
|
if message[0].level in self.color:
|
||||||
|
return self.color[message[0].level]
|
||||||
for level in self.color:
|
for level in self.color:
|
||||||
if message[0].level <= level:
|
if message[0].level <= level:
|
||||||
break
|
break
|
||||||
|
@ -103,17 +103,17 @@ class Logger(Options):
|
|||||||
output.level = level
|
output.level = level
|
||||||
|
|
||||||
def make_log(
|
def make_log(
|
||||||
self,
|
self,
|
||||||
messages: Union[list, tuple],
|
messages: Union[list, tuple],
|
||||||
tag: Optional[str] = None,
|
tag: Optional[str] = None,
|
||||||
end: str = "\n",
|
end: str = "\n",
|
||||||
split: str = " ",
|
split: str = " ",
|
||||||
flush: bool = True,
|
flush: bool = True,
|
||||||
level: int = 20, # info
|
level: int = 20, # info
|
||||||
# log_time: Optional[float] = None,
|
# log_time: Optional[float] = None,
|
||||||
# logger_name: str = 'root',
|
# logger_name: str = 'root',
|
||||||
# logger_tag: Optional[str] = None,
|
# logger_tag: Optional[str] = None,
|
||||||
stack_trace: Optional[FrameType] = None,
|
stack_trace: Optional[FrameType] = None,
|
||||||
) -> None:
|
) -> None:
|
||||||
# 检查是否需要记录
|
# 检查是否需要记录
|
||||||
if not self.log_for(level):
|
if not self.log_for(level):
|
||||||
@ -133,7 +133,7 @@ class Logger(Options):
|
|||||||
stack_trace = stack
|
stack_trace = stack
|
||||||
|
|
||||||
message = LogMessage(
|
message = LogMessage(
|
||||||
messages=messages, # type: ignore
|
messages=messages, # type: ignore
|
||||||
end=end,
|
end=end,
|
||||||
split=split,
|
split=split,
|
||||||
flush=flush,
|
flush=flush,
|
||||||
@ -153,13 +153,13 @@ class Logger(Options):
|
|||||||
# 20231106 00:06
|
# 20231106 00:06
|
||||||
|
|
||||||
def info(
|
def info(
|
||||||
self,
|
self,
|
||||||
*message,
|
*message,
|
||||||
tag: Optional[str] = None,
|
tag: Optional[str] = None,
|
||||||
end: str = "\n",
|
end: str = "\n",
|
||||||
split: str = " ",
|
split: str = " ",
|
||||||
flush: bool = True,
|
flush: bool = True,
|
||||||
stack_trace: Optional[FrameType] = None,
|
stack_trace: Optional[FrameType] = None,
|
||||||
) -> None:
|
) -> None:
|
||||||
if not self.log_for(LogLevel.info):
|
if not self.log_for(LogLevel.info):
|
||||||
return
|
return
|
||||||
@ -174,13 +174,13 @@ class Logger(Options):
|
|||||||
)
|
)
|
||||||
|
|
||||||
def trace(
|
def trace(
|
||||||
self,
|
self,
|
||||||
*message,
|
*message,
|
||||||
tag: Optional[str] = None,
|
tag: Optional[str] = None,
|
||||||
end: str = "\n",
|
end: str = "\n",
|
||||||
split: str = " ",
|
split: str = " ",
|
||||||
flush: bool = True,
|
flush: bool = True,
|
||||||
stack_trace: Optional[FrameType] = None,
|
stack_trace: Optional[FrameType] = None,
|
||||||
) -> None:
|
) -> None:
|
||||||
if not self.log_for(LogLevel.trace):
|
if not self.log_for(LogLevel.trace):
|
||||||
return
|
return
|
||||||
@ -195,13 +195,13 @@ class Logger(Options):
|
|||||||
)
|
)
|
||||||
|
|
||||||
def fine(
|
def fine(
|
||||||
self,
|
self,
|
||||||
*message,
|
*message,
|
||||||
tag: Optional[str] = None,
|
tag: Optional[str] = None,
|
||||||
end: str = "\n",
|
end: str = "\n",
|
||||||
split: str = " ",
|
split: str = " ",
|
||||||
flush: bool = True,
|
flush: bool = True,
|
||||||
stack_trace: Optional[FrameType] = None,
|
stack_trace: Optional[FrameType] = None,
|
||||||
) -> None:
|
) -> None:
|
||||||
if not self.log_for(LogLevel.fine):
|
if not self.log_for(LogLevel.fine):
|
||||||
return
|
return
|
||||||
@ -216,13 +216,13 @@ class Logger(Options):
|
|||||||
)
|
)
|
||||||
|
|
||||||
def debug(
|
def debug(
|
||||||
self,
|
self,
|
||||||
*message,
|
*message,
|
||||||
tag: Optional[str] = None,
|
tag: Optional[str] = None,
|
||||||
end: str = "\n",
|
end: str = "\n",
|
||||||
split: str = " ",
|
split: str = " ",
|
||||||
flush: bool = True,
|
flush: bool = True,
|
||||||
stack_trace: Optional[FrameType] = None,
|
stack_trace: Optional[FrameType] = None,
|
||||||
) -> None:
|
) -> None:
|
||||||
if not self.log_for(LogLevel.debug):
|
if not self.log_for(LogLevel.debug):
|
||||||
return
|
return
|
||||||
@ -237,13 +237,13 @@ class Logger(Options):
|
|||||||
)
|
)
|
||||||
|
|
||||||
def warn(
|
def warn(
|
||||||
self,
|
self,
|
||||||
*message,
|
*message,
|
||||||
tag: Optional[str] = None,
|
tag: Optional[str] = None,
|
||||||
end: str = "\n",
|
end: str = "\n",
|
||||||
split: str = " ",
|
split: str = " ",
|
||||||
flush: bool = True,
|
flush: bool = True,
|
||||||
stack_trace: Optional[FrameType] = None,
|
stack_trace: Optional[FrameType] = None,
|
||||||
) -> None:
|
) -> None:
|
||||||
if not self.log_for(LogLevel.warn):
|
if not self.log_for(LogLevel.warn):
|
||||||
return
|
return
|
||||||
@ -258,13 +258,13 @@ class Logger(Options):
|
|||||||
)
|
)
|
||||||
|
|
||||||
def error(
|
def error(
|
||||||
self,
|
self,
|
||||||
*message,
|
*message,
|
||||||
tag: Optional[str] = None,
|
tag: Optional[str] = None,
|
||||||
end: str = "\n",
|
end: str = "\n",
|
||||||
split: str = " ",
|
split: str = " ",
|
||||||
flush: bool = True,
|
flush: bool = True,
|
||||||
stack_trace: Optional[FrameType] = None,
|
stack_trace: Optional[FrameType] = None,
|
||||||
) -> None:
|
) -> None:
|
||||||
if not self.log_for(LogLevel.error):
|
if not self.log_for(LogLevel.error):
|
||||||
return
|
return
|
||||||
@ -279,13 +279,13 @@ class Logger(Options):
|
|||||||
)
|
)
|
||||||
|
|
||||||
def fatal(
|
def fatal(
|
||||||
self,
|
self,
|
||||||
*message,
|
*message,
|
||||||
tag: Optional[str] = None,
|
tag: Optional[str] = None,
|
||||||
end: str = "\n",
|
end: str = "\n",
|
||||||
split: str = " ",
|
split: str = " ",
|
||||||
flush: bool = True,
|
flush: bool = True,
|
||||||
stack_trace: Optional[FrameType] = None,
|
stack_trace: Optional[FrameType] = None,
|
||||||
) -> None:
|
) -> None:
|
||||||
if not self.log_for(LogLevel.fatal):
|
if not self.log_for(LogLevel.fatal):
|
||||||
return
|
return
|
||||||
|
@ -115,7 +115,7 @@ class FileCacheOutputStream(BaseOutputStream):
|
|||||||
flush_timer: Optional[threading.Timer] = None
|
flush_timer: Optional[threading.Timer] = None
|
||||||
|
|
||||||
file_path: Path = Path("./logs")
|
file_path: Path = Path("./logs")
|
||||||
# if contain {time} -> time.strftime("%Y-%m-%d %H-%M-%S", time.gmtime(time.time)
|
# if contain {time} -> time.strftime("%Y-%m-%d_%H-%M-%S", time.gmtime(time.time)
|
||||||
file_name: str
|
file_name: str
|
||||||
# file mode: always 'a'
|
# file mode: always 'a'
|
||||||
file_encoding: str = "utf-8"
|
file_encoding: str = "utf-8"
|
||||||
@ -144,7 +144,7 @@ class FileCacheOutputStream(BaseOutputStream):
|
|||||||
# 初始化文件名
|
# 初始化文件名
|
||||||
if "{time}" in self.file_name:
|
if "{time}" in self.file_name:
|
||||||
self.file_name = self.file_name.format(time=time.strftime(
|
self.file_name = self.file_name.format(time=time.strftime(
|
||||||
"%Y-%m-%d|%H-%M-%S", time.gmtime(self.file_start_time)
|
"%Y-%m-%d_%H-%M-%S", time.gmtime(self.file_start_time)
|
||||||
))
|
))
|
||||||
# 初始化缓存
|
# 初始化缓存
|
||||||
if self.text_cache is None:
|
if self.text_cache is None:
|
||||||
|
Loading…
Reference in New Issue
Block a user