bump 0.3.8

This commit is contained in:
shenjack 2023-12-14 11:16:57 +08:00
parent a22749deb8
commit a9366ac476
Signed by: shenjack
GPG Key ID: 7B1134A979775551
5 changed files with 61 additions and 15 deletions

View File

@ -6,7 +6,7 @@ A python lib came from [Difficult Rocket](https://github.com/shenjackyuanjie/Dif
## Information/信息
- Version / 版本: 0.3.7
- Version / 版本: 0.3.8
- Author / 作者: shenjackyuanjie <3695888@qq.com>
[shenjackyuanjie](https://github.com/shenjackyuanjie)

View File

@ -1,5 +1,10 @@
# lndl 0.3
## 0.3.8
- 为 `logger` 添加了 `default_tag` 属性
- 详情请查看 `0.4` 文档
## 0.3.7
- lndl-nuitka 现在不会再输出那一堆 debug 信息了

View File

@ -12,6 +12,17 @@
- 添加了 `get_logger_from_old`
- 用于从现有 logger 中获取一个新的 logger
- 现在 `info` 级别的默认颜色更白了 (255, 255, 255)
- `Logger`
- 添加了 `default_tag` 属性 (已经在 `0.3.8` 中添加)
- 用于设置默认的 tag
- 默认为 `None` (无默认 tag)
- 可以通过 `logger.tag = "tag"` 来设置
- 或者 `logger.set_tag("tag")` 来设置
- 可以链式调用
- 类似
- `self.logger = config.get_logger("root").set_tag("tag")`
- 也可以通过 `logger.tag = None` 来取消默认 tag
- 或者 `logger.clear_tag()` 来清除默认 tag
## Nuitka Compiler Helper

View File

@ -9,7 +9,7 @@ from typing import TYPE_CHECKING
if TYPE_CHECKING:
from lib_not_dr import loggers, nuitka, types, command
_version_ = "0.3.7"
_version_ = "0.3.8"
# fmt: off
__all__ = [

View File

@ -21,6 +21,7 @@ class Logger(Options):
outputs: List[BaseOutputStream] = [StdioOutputStream()]
logger_name: str = "root"
default_tag: Optional[str] = None
enable: bool = True
level: int = 20 # info
@ -37,6 +38,7 @@ class Logger(Options):
enable=self.enable,
level=self.level,
outputs=self.outputs.copy(),
default_tag=self.default_tag,
)
def log_for(self, level: int) -> bool:
@ -54,29 +56,54 @@ class Logger(Options):
def add_output(self, output: BaseOutputStream) -> None:
"""
Add an output to the list of outputs.
Args:
output (BaseOutputStream): The output to be added.
Returns:
None
:param output:
:return:
"""
self.outputs.append(output)
self.level = min(self.level, output.level)
def remove_output(self, output: BaseOutputStream) -> None:
"""
Removes the specified output from the list of outputs.
Args:
output (BaseOutputStream): The output to be removed.
Returns:
None
Remove an output from the list of outputs.
:param output: BaseOutputStream
:return:
"""
self.outputs.remove(output)
self.level = max(self.level, *[output.level for output in self.outputs])
@property
def tag(self):
"""
Get the default tag.
:return:
"""
return self.default_tag
@tag.setter
def tag(self, tag: str) -> None:
"""
Set the default tag.
:param tag: str
:return: None
"""
self.default_tag = tag
def set_tag(self, tag: str) -> "Logger":
"""
Set the default tag.
:param tag: str
:return: None
"""
self.default_tag = tag
return self
def clear_tag(self) -> None:
"""
Clear the default tag.
:return:
"""
self.default_tag = None
@property
def global_level(self) -> int:
"""
@ -131,6 +158,9 @@ class Logger(Options):
stack_trace = up_stack
else:
stack_trace = stack
# 处理标签
if tag is None and self.default_tag is not None:
tag = self.default_tag
message = LogMessage(
messages=messages, # type: ignore