增强日志

This commit is contained in:
zj
2026-03-02 15:50:51 +08:00
parent e16578a304
commit deb4fa0e79
5 changed files with 384 additions and 25 deletions

View File

@@ -19,6 +19,7 @@ ServerGuard 是一款基于 Python 的 Linux 命令行工具,用于诊断服
- **Python**: 3.6 或更高版本
- **权限**: root 权限(大多数硬件诊断功能需要)
- **架构**: x86_64 (AMD64)
- **磁盘空间**: 至少 100MB 可用空间(用于日志和报告)
## 克隆及安装方法
@@ -313,6 +314,62 @@ python3 quick_test.py
python3 -m unittest discover tests/ -v
```
## 日志记录
ServerGuard 会实时记录详细的测试日志,方便排查问题:
### 日志文件位置
默认日志文件路径:`/var/log/serverguard.log`
```bash
# 查看实时日志
tail -f /var/log/serverguard.log
# 查看最近 100 行日志
tail -n 100 /var/log/serverguard.log
```
### 日志内容说明
日志包含以下关键信息:
- **启动信息**: 程序启动时间、命令行参数、Python版本等
- **进度记录**: 每个模块的检测开始和结束时间
- **详细步骤**: 压力测试前后的温度、执行的命令等
- **错误信息**: 详细的异常信息和堆栈跟踪
### 日志示例
```
2026-03-02 15:41:28 - ServerGuard 启动
2026-03-02 15:41:28 - [DIAGNOSTIC START] 全面硬件诊断
2026-03-02 15:41:28 - [PROGRESS] 模块 1/7: system
2026-03-02 15:41:28 - [MODULE START] cpu - stress_test=True, duration=300
2026-03-02 15:41:28 - [CPU STRESS TEST] 测试前温度: 45°C
2026-03-02 15:46:28 - [CPU STRESS TEST] 测试后温度: 78°C
2026-03-02 15:46:28 - [CPU STRESS TEST] 压力测试通过
```
### 排查机器重启/关机问题
如果测试过程中机器意外关机或重启,查看日志文件:
```bash
# 查找最后的日志记录
tail -n 50 /var/log/serverguard.log
# 查找压力测试相关的日志
grep "STRESS TEST" /var/log/serverguard.log
# 查找错误信息
grep -i "error\|exception\|failed" /var/log/serverguard.log
```
**常见情况分析:**
- 如果在 `[CPU STRESS TEST]``[MEMORY STRESS TEST]` 后没有 `[END]` 记录,说明机器在压力测试中出现问题
- 查看压力测试前后的温度记录,判断是否因过热导致关机
- 查看系统日志 `dmesg``/var/log/messages` 确认硬件错误
## 故障排除
### 1. 提示 "未找到压力测试工具"