init config in loggers
This commit is contained in:
parent
91d70dd332
commit
e1b20e71a9
@ -8,6 +8,9 @@
|
||||
- 现在如果输入的文件名包含 `{time}`
|
||||
- 会自动替换为 `time.strftime("%Y-%m-%d_%H-%M-%S")`
|
||||
- 修复了一些之前没有发现的问题
|
||||
- `config`
|
||||
- 添加了 `get_logger_from_old`
|
||||
- 用于从现有 logger 中获取一个新的 logger
|
||||
|
||||
## Nuitka Compiler Helper
|
||||
|
||||
|
@ -99,13 +99,13 @@ class LogLevel(Options):
|
||||
|
||||
# fmt: off
|
||||
from lib_not_dr.loggers.config import get_logger, get_config, read_config # noqa: E402
|
||||
from lib_not_dr.loggers import config # noqa: E402
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from lib_not_dr.loggers import logger
|
||||
from lib_not_dr.loggers import formatter
|
||||
from lib_not_dr.loggers import outstream
|
||||
from lib_not_dr.loggers import structure
|
||||
from lib_not_dr.loggers import config
|
||||
|
||||
__all__ = [
|
||||
# modules
|
||||
|
@ -324,11 +324,13 @@ _storage = ConfigStorage(loggers={'root': Logger(logger_name='root')})
|
||||
|
||||
|
||||
def get_config() -> ConfigStorage:
|
||||
global _storage
|
||||
return _storage
|
||||
|
||||
|
||||
def get_logger(name: str = 'root', storage: Optional[ConfigStorage] = None) -> Logger:
|
||||
if storage is None:
|
||||
global _storage
|
||||
storage = _storage
|
||||
|
||||
if name not in storage.loggers:
|
||||
@ -338,9 +340,42 @@ def get_logger(name: str = 'root', storage: Optional[ConfigStorage] = None) -> L
|
||||
return storage.loggers[name]
|
||||
|
||||
|
||||
def get_logger_from_old(name: str, old_name: str = 'root', storage: Optional[ConfigStorage] = None) -> Logger:
|
||||
if storage is None:
|
||||
global _storage
|
||||
storage = _storage
|
||||
|
||||
if name not in storage.loggers:
|
||||
root_log = get_logger(old_name, storage).clone_logger()
|
||||
root_log.logger_name = name
|
||||
storage.loggers[name] = root_log
|
||||
return storage.loggers[name]
|
||||
|
||||
|
||||
def add_logger(name: str, logger: Logger, storage: Optional[ConfigStorage] = None) -> None:
|
||||
if storage is None:
|
||||
global _storage
|
||||
storage = _storage
|
||||
|
||||
storage.loggers[name] = logger
|
||||
|
||||
|
||||
def read_config(log_config: Dict, storage: Optional[ConfigStorage] = None) -> ConfigStorage:
|
||||
if storage is None:
|
||||
global _storage
|
||||
storage = _storage
|
||||
|
||||
storage.read_dict_config(log_config)
|
||||
return storage
|
||||
|
||||
|
||||
# fmt: off
|
||||
__all__ = [
|
||||
"get_config",
|
||||
"get_logger",
|
||||
"_storage",
|
||||
"read_config",
|
||||
"ConfigStorage",
|
||||
]
|
||||
# 整的跟 export 一样
|
||||
# fmt: on
|
||||
|
Loading…
Reference in New Issue
Block a user