2 Commits

Author SHA1 Message Date
3b6a5fe2a0 v1.1.0 修复:转换启动脚本为 Windows CRLF 换行符 2026-03-20 17:18:53 +08:00
f4569093d7 v1.1.0 修复:启动脚本和日志等级配置
修复问题:
1. 启动监控.bat 添加窗口设置(title/mode/color),修复 Windows 换行符问题
2. 日志等级现在按配置文件 [logging] level 设置
3. 移除启动脚本的 Python 依赖自动安装功能

优化:
- 启动脚本初始化时设置窗口标题、大小和颜色
- 日志配置支持从配置文件动态读取等级
2026-03-20 16:55:11 +08:00
2 changed files with 66 additions and 51 deletions

View File

@@ -1,39 +1,29 @@
@echo off @echo off
chcp 65001 >nul title 远程连接音量自动调节器 -By:LeeQwQ
echo ======================================== mode con cols=65 lines=18
echo 远程连接音量自动调节器 color 0B
echo Remote Volume Monitor chcp 65001 >nul
echo ======================================== cls
echo. echo ========================================
echo 远程连接音量自动调节器
REM 检查 Python echo Remote Volume Monitor
python --version >nul 2>&1 echo ========================================
if errorlevel 1 ( echo.
echo [错误] 未找到 Python请先安装 Python 3.8+
pause REM 检查 Python
exit /b 1 python --version >nul 2>&1
) if errorlevel 1 (
echo [错误] 未找到 Python请先安装 Python 3.8+
REM 检查依赖 pause
echo [检查] 验证依赖库... exit /b 1
python -c "import pycaw" >nul 2>&1 )
if errorlevel 1 (
echo [安装] 正在安装依赖库... echo.
pip install pycaw comtypes wmi echo [启动] 开始监控远程连接...
) echo [提示] 按 Ctrl+C 停止监控
echo.
python -c "import wmi" >nul 2>&1
if errorlevel 1 ( REM 启动监控程序(从 scripts 目录调用 src 和 config
echo [安装] 正在安装 WMI 库... python "%~dp0..\src\remote_volume_monitor.py" --config "%~dp0..\config\config.ini"
pip install wmi
) pause
echo.
echo [启动] 开始监控远程连接...
echo [提示] 按 Ctrl+C 停止监控
echo.
REM 启动监控程序(从 scripts 目录调用 src 和 config
python "%~dp0..\src\remote_volume_monitor.py" --config "%~dp0..\config\config.ini"
pause

View File

@@ -20,19 +20,38 @@ from pathlib import Path
# 日志配置 # 日志配置
# ============================================================================ # ============================================================================
log_dir = Path('logs') def setup_logging(config_path=None):
log_dir.mkdir(exist_ok=True) """根据配置文件设置日志等级"""
log_file = log_dir / 'remote_volume.log' log_dir = Path('logs')
log_dir.mkdir(exist_ok=True)
log_file = log_dir / 'remote_volume.log'
# 默认日志等级
log_level = logging.INFO
# 从配置文件读取日志等级
if config_path and Path(config_path).exists():
try:
config = configparser.ConfigParser()
config.read(config_path, encoding='utf-8')
if 'logging' in config and 'level' in config['logging']:
level_str = config['logging']['level'].upper()
log_level = getattr(logging, level_str, logging.INFO)
except Exception as e:
pass # 读取失败使用默认等级
# 配置日志
logging.basicConfig(
level=log_level,
format='%(asctime)s - %(levelname)s - %(message)s',
handlers=[
logging.FileHandler(log_file, encoding='utf-8'),
logging.StreamHandler()
]
)
return logging.getLogger(__name__)
logging.basicConfig( logger = setup_logging()
level=logging.DEBUG,
format='%(asctime)s - %(levelname)s - %(message)s',
handlers=[
logging.FileHandler(log_file, encoding='utf-8'),
logging.StreamHandler()
]
)
logger = logging.getLogger(__name__)
# ============================================================================ # ============================================================================
@@ -534,6 +553,7 @@ def main():
return return
config = configparser.ConfigParser() config = configparser.ConfigParser()
config_path = None
if args.config: if args.config:
config_path = Path(args.config) config_path = Path(args.config)
if not config_path.exists(): if not config_path.exists():
@@ -541,11 +561,16 @@ def main():
sys.exit(1) sys.exit(1)
config.read(config_path, encoding='utf-8') config.read(config_path, encoding='utf-8')
logger.info(f"✓ 已加载:{config_path}") logger.info(f"✓ 已加载:{config_path}")
# 重新初始化日志(使用配置文件中的日志等级)
logger = setup_logging(str(config_path))
else: else:
default_config = Path(__file__).parent.parent / 'config' / 'config.ini' default_config = Path(__file__).parent.parent / 'config' / 'config.ini'
if default_config.exists(): if default_config.exists():
config.read(default_config, encoding='utf-8') config.read(default_config, encoding='utf-8')
logger.info(f"✓ 已加载默认:{default_config}") logger.info(f"✓ 已加载默认:{default_config}")
config_path = str(default_config)
# 重新初始化日志(使用配置文件中的日志等级)
logger = setup_logging(config_path)
else: else:
config['volume'] = {'remote_volume': str(args.volume)} config['volume'] = {'remote_volume': str(args.volume)}