fix: 优化日志工厂

This commit is contained in:
AL76
2025-03-15 04:22:31 +08:00
parent 9b72b5a996
commit ddb8ea6610

View File

@@ -1,9 +1,10 @@
from loguru import logger from loguru import logger
from typing import Dict, Optional, Union, List, Any from typing import Dict, Optional, Union, List
import sys import sys
from types import ModuleType from types import ModuleType
from pathlib import Path from pathlib import Path
# logger.remove()
# 类型别名 # 类型别名
LoguruLogger = logger.__class__ LoguruLogger = logger.__class__
@@ -13,22 +14,20 @@ _handler_registry: Dict[str, List[int]] = {}
# 获取日志存储根地址 # 获取日志存储根地址
current_file_path = Path(__file__).resolve() current_file_path = Path(__file__).resolve()
PROJECT_ROOT = current_file_path.parent.parent.parent LOG_ROOT = "logs"
LOG_ROOT = str(PROJECT_ROOT / "logs")
# 默认全局配置 # 默认全局配置
DEFAULT_CONFIG = { DEFAULT_CONFIG = {
# 日志级别配置 # 日志级别配置
"level": "INFO", # 全局基础日志级别若未指定console/file_level则生效 "console_level": "DEBUG", # 控制台默认级别(可覆盖
"console_level": "INFO", # 控制台默认级别(可覆盖)
"file_level": "DEBUG", # 文件默认级别(可覆盖) "file_level": "DEBUG", # 文件默认级别(可覆盖)
# 格式配置 # 格式配置
"console_format": ( "console_format": (
"<green>{time:YYYY-MM-DD HH:mm:ss}</green> | " "<green>{time:YYYY-MM-DD HH:mm:ss}</green> | "
"<level>{level: <8}</level> | " "<level>{level: <8}</level> | "
"<cyan>{extra[module]: <20}</cyan> | " "<cyan>{extra[module]: <4}</cyan> | "
"<level>{message}</level>" "<level>{message}</level>"
), ),
"file_format": ( "file_format": (
@@ -124,4 +123,4 @@ def remove_module_logger(module_name: str) -> None:
if module_name in _handler_registry: if module_name in _handler_registry:
for handler_id in _handler_registry[module_name]: for handler_id in _handler_registry[module_name]:
logger.remove(handler_id) logger.remove(handler_id)
del _handler_registry[module_name] del _handler_registry[module_name]