# 📋 日志监控与自动重连脚本说明
**作者:火山**
## 📌 功能介绍
该脚本用于实时监控1Remote的日志文件,当检测到远程连接断开(日志中出现`OnRdpClientDisconnected`警告)时,自动执行重连操作,保障远程连接的稳定性。
### ⚡⚡⚡❗ 重要提醒:这不是JS脚本 ❗⚡⚡⚡
### ⚡⚡⚡❗ 绝对不要不看完就直接运行 ❗⚡⚡⚡
### ⚡⚡⚡❗ 再次强调:这不是可执行的JS脚本 ❗⚡⚡⚡
## 🚀 环境要求
- **操作系统**:Windows(脚本依赖Windows特定快捷键操作)
- **Python版本**:Python 3.6及以上
(检查方法:按下`Win+R`输入`cmd`,在命令行中执行`python --version`)
## 🔧 安装依赖(重要!小白必看)
1. **以管理员身份打开命令提示符(CMD)**:
- 方法1:按下`Win + R`输入`cmd`,按住`Ctrl + Shift`同时点击「确定」
- 方法2:开始菜单搜索「命令提示符」,右键选择「以管理员身份运行」
2. **执行安装命令**:
在管理员CMD窗口中输入以下命令并回车,等待安装完成(出现`Successfully installed`字样即为成功):
```
pip install pyautogui watchdog
```
## 📂 文件说明
| 文件名 | 作用描述 |
|----------------------|--------------------------------------------------------------------------|
| `log_monitor.py` | 核心监控程序,负责监控日志文件变化、检测断开事件并触发重连操作 |
| `autoreconnection.py`| 重连操作脚本,通过模拟键盘快捷键(Win+D、Alt+M等)执行自动重连 |
| `config.json` | 配置文件,存储1Remote日志文件所在目录(示例:`C:\...\1Remote-...\.logs`)|
| `监控异常.txt` | 程序运行日志,记录操作过程、错误信息及重连状态(用于问题排查) |
## 🔍 首次使用步骤
1. 确保已安装Python 3.6及以上版本并完成依赖安装
2. 双击运行`log_monitor.py`或在CMD中执行:
```
python log_monitor.py
```
3. 首次运行将引导配置日志目录:
- 日志文件命名格式为 `1Remote.log_YYYYMMDD.md`(按日期生成)
- 请输入1Remote日志所在目录的完整路径(例如 `.logs` 文件夹路径)
## ⚙️ 配置说明
配置信息存储在`config.json`中,格式如下:
```json
{
"log_dir": "C:\\Users\\Administrator\\Desktop\\1Remote-1.2.0-net9-x64\\.logs"
}
```
- **修改日志目录**:
1. 运行`log_monitor.py`,程序会引导配置
2. 或删除`config.json`后重新运行`log_monitor.py`,程序会重新引导配置
## 🖥️ 使用方法
1. 运行`log_monitor.py`后,程序将自动监控日志文件
2. 当检测到连接断开时,自动执行以下操作(通过`autoreconnection.py`实现):
- 按`Win+D`返回桌面
- 按`Alt+M`组合键(按住Alt键后按M键,保持0.5秒后松开)
- 连续按两次回车键(间隔0.3秒)
3. 运行状态会同时显示在控制台和`监控异常.txt`中
## ⚠️ 注意事项
1. 确保1Remote程序正常运行且日志文件能正常生成(否则会提示"未找到日志文件")
2. 脚本运行时会模拟键盘操作,建议避免手动操作鼠标键盘,以免干扰流程
3. 重连逻辑:
- 最多尝试3次重连,失败则暂停重试
- 单次重连超时时间为30秒,20秒内未检测到成功标志会自动重试
4. 支持跨天日志文件切换(因日志按日期命名)
5. 所有操作记录(含错误信息)均保存在`监控异常.txt`,便于排查问题
6. 确保Alt+M的1Remote快捷指令能够正常执行,建议先双击`autoreconnection.py`查看效果
7. 确保Win+D的Windows快捷键能指向正确是显示器(双屏会多一步选择哪块屏幕的操作,建议问AI修改一下`autoreconnection.py`中的操作)
## ❓ 常见问题
| 问题现象 | 解决方法 |
|---------------------------|--------------------------------------------------------------------------|
| 提示"未找到日志文件" | 1. 检查`config.json`中日志目录是否正确
2. 确认1Remote已运行并生成当天日志(`1Remote.log_YYYYMMDD.md`) |
| 重连操作无反应 | 1. 检查`autoreconnection.py`是否与`log_monitor.py`在同一目录
2. 手动测试快捷键(Win+D、Alt+M)是否有效
3. 重新执行管理员CMD下的依赖安装命令 |
| 程序启动失败 | 1. 查看`监控异常.txt`获取错误详情
2. 检查Python版本是否符合要求(3.6及以上) |