1
1
mirror of https://github.com/KenanZhu/AutoLibrary.git synced 2026-06-18 07:23:03 +08:00

feat(LogManager): 新增日志持久化功能

- 新增 LogManager 单例类,支持日志文件按日期滚动
- 创建 CallerInfoFormatter 自定义格式化器,提取真实调用位置
- 为 MsgBase._showTrace 方法添加日志级别参数,集成日志系统
- 新增 initializeLogManager 初始化函数,日志存储于 AppDataLocation/logs/
- 日志输出格式对齐:[时间] - [类名(15)|级别(8)] - [文件:行号(20:4)] - 消息
- 控制台/INFO级别,全量日志 / DEBUG 级别,错误日志 / ERROR级别
- 全量日志保留7天,错误日志保留14天
This commit is contained in:
2026-03-17 21:37:24 +08:00
parent 1d99ca92f2
commit c26f19b6b3
3 changed files with 214 additions and 3 deletions
+12 -2
View File
@@ -16,7 +16,8 @@ from PySide6.QtWidgets import QApplication
from gui.ALMainWindow import ALMainWindow
from gui.resources import ALResource
from utils.ConfigManager import instance
from utils.ConfigManager import instance as configInstance
from utils.LogManager import instance as logInstance
def initializeConfigManager():
@@ -25,7 +26,15 @@ def initializeConfigManager():
config_dir = os.path.join(app_dir, "config")
if not QDir(config_dir).exists():
QDir().mkpath(config_dir)
instance(config_dir)
configInstance(config_dir)
def initializeLogManager():
app_dir = QStandardPaths.writableLocation(QStandardPaths.StandardLocation.AppDataLocation)
log_dir = os.path.join(app_dir, "logs")
if not QDir(log_dir).exists():
QDir().mkpath(log_dir)
logInstance(log_dir)
def main():
@@ -36,6 +45,7 @@ def main():
app.setStyle('Fusion')
app.setApplicationName("AutoLibrary")
initializeConfigManager()
initializeLogManager()
window = ALMainWindow()
window.show()
sys.exit(app.exec_())