refactor(pyinstaller): 优化打包配置和日志处理

重构打包配置,使用新的spec文件生成单个exe文件
修复日志处理中可能存在的None值问题
添加clean.py脚本用于清理打包残留文件
更新SKILL.md文档说明打包流程
This commit is contained in:
2026-01-15 15:32:23 +08:00
parent 2a560108df
commit 597172acdb
7 changed files with 49 additions and 7 deletions

22
main.py
View File

@@ -274,6 +274,10 @@ def setup_logging(log_path: str, level: str = "INFO"):
"""配置日志"""
logger.remove() # 移除默认的处理器
# 确保log_path不为None
if log_path is None:
log_path = 'guba.log'
logger.add(
log_path,
rotation="10 MB",
@@ -283,11 +287,13 @@ def setup_logging(log_path: str, level: str = "INFO"):
format="{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {name}:{function}:{line} - {message}"
)
logger.add(
sys.stdout,
level=level,
format="<green>{time:YYYY-MM-DD HH:mm:ss}</green> | <level>{level: <8}</level> | <cyan>{name}</cyan>:<cyan>{function}</cyan>:<cyan>{line}</cyan> - <level>{message}</level>"
)
# 仅当sys.stdout可用时才添加控制台日志
if sys.stdout is not None:
logger.add(
sys.stdout,
level=level,
format="<green>{time:YYYY-MM-DD HH:mm:ss}</green> | <level>{level: <8}</level> | <cyan>{name}</cyan>:<cyan>{function}</cyan>:<cyan>{line}</cyan> - <level>{message}</level>"
)
def main():
@@ -304,8 +310,10 @@ def main():
# 配置日志
log_config = config.logging_config
setup_logging(log_config.get('path', 'guba.log'), log_config.get('level', 'INFO'))
logger.info(f"日志配置完成: {log_config.get('path', 'guba.log')}, 级别: {log_config.get('level', 'INFO')}")
log_path = log_config.get('path') or 'guba.log'
log_level = log_config.get('level') or 'INFO'
setup_logging(log_path, log_level)
logger.info(f"日志配置完成: {log_path}, 级别: {log_level}")
# 初始化组件
logger.info("初始化数据库...")