152 lines
3.5 KiB
Markdown
152 lines
3.5 KiB
Markdown
|
|
# 如何查看调试日志
|
|||
|
|
|
|||
|
|
## 问题:生成日报后没有下载按钮
|
|||
|
|
|
|||
|
|
### 步骤1:重启服务
|
|||
|
|
|
|||
|
|
停止当前服务(Ctrl+C),然后重新启动:
|
|||
|
|
```bash
|
|||
|
|
python app.py
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 步骤2:生成日报
|
|||
|
|
|
|||
|
|
1. 访问 http://localhost:5000
|
|||
|
|
2. 切换到"日报生成"标签
|
|||
|
|
3. 选择配置和时间范围
|
|||
|
|
4. 点击"生成日报"
|
|||
|
|
|
|||
|
|
### 步骤3:查看服务器控制台日志
|
|||
|
|
|
|||
|
|
在运行 `python app.py` 的窗口中,应该看到类似以下的日志:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
[日报生成] 开始生成日报
|
|||
|
|
配置ID: 1234567890
|
|||
|
|
配置名称: 测试配置
|
|||
|
|
拆分方式: company_id = 123
|
|||
|
|
时间范围: 2025-01-07 08:00:00 至 2025-01-08 08:00:00
|
|||
|
|
选择字段: 5 个
|
|||
|
|
[日报生成] 查询到 10 条订单
|
|||
|
|
[日报生成] Excel文件已生成: /reports/daily_report_xxx.xlsx
|
|||
|
|
[日报生成] 准备保存历史记录,file_path=/reports/daily_report_xxx.xlsx
|
|||
|
|
[保存历史] 准备保存历史记录
|
|||
|
|
ID: 1234567890123
|
|||
|
|
file_path: '/reports/daily_report_xxx.xlsx'
|
|||
|
|
status: 1
|
|||
|
|
[保存历史] 执行SQL插入...
|
|||
|
|
[保存历史] 插入完成,返回ID: 1234567890123
|
|||
|
|
[日报生成] 历史记录已保存,ID=1234567890123
|
|||
|
|
[日报生成] ✓ 生成成功
|
|||
|
|
订单数量: 10
|
|||
|
|
总金额: 100.00
|
|||
|
|
文件路径: /reports/daily_report_xxx.xlsx
|
|||
|
|
历史记录ID: 1234567890123
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 步骤4:查看历史记录API日志
|
|||
|
|
|
|||
|
|
切换到"历史记录"标签,在服务器控制台应该看到:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
[历史记录] ID: 1234567890123, status: 1, file_path: '/reports/daily_report_xxx.xlsx'
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 步骤5:查看浏览器控制台
|
|||
|
|
|
|||
|
|
1. 按 F12 打开开发者工具
|
|||
|
|
2. 切换到 "Console" 标签
|
|||
|
|
3. 刷新历史记录页面
|
|||
|
|
4. 应该看到调试信息:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
历史记录项: {id: 1234567890123, status: 1, file_path: '/reports/xxx.xlsx', ...}
|
|||
|
|
status: 1 类型: number
|
|||
|
|
file_path: /reports/xxx.xlsx 类型: string
|
|||
|
|
是否有文件: true
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 根据日志判断问题
|
|||
|
|
|
|||
|
|
### 情况1:file_path 为空
|
|||
|
|
|
|||
|
|
如果日志显示:
|
|||
|
|
```
|
|||
|
|
file_path: ''
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**原因**:Excel文件生成失败或路径没有正确返回
|
|||
|
|
|
|||
|
|
**解决**:检查 `public/reports/` 目录是否存在,是否有写入权限
|
|||
|
|
|
|||
|
|
### 情况2:file_path 有值,但前端显示"-"
|
|||
|
|
|
|||
|
|
如果服务器日志显示 file_path 有值,但浏览器控制台显示:
|
|||
|
|
```
|
|||
|
|
是否有文件: false
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**原因**:前端JavaScript判断逻辑有问题
|
|||
|
|
|
|||
|
|
**解决**:查看浏览器控制台的详细输出,检查 status 和 file_path 的类型
|
|||
|
|
|
|||
|
|
### 情况3:数据库中没有保存记录
|
|||
|
|
|
|||
|
|
如果服务器日志没有显示 "[保存历史]" 相关信息
|
|||
|
|
|
|||
|
|
**原因**:保存历史记录的代码没有被执行
|
|||
|
|
|
|||
|
|
**解决**:检查 generate_daily_report 函数的流程
|
|||
|
|
|
|||
|
|
## 快速测试API
|
|||
|
|
|
|||
|
|
使用curl直接测试API:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 查看历史记录
|
|||
|
|
curl http://localhost:5000/api/report/history
|
|||
|
|
|
|||
|
|
# 应该返回类似:
|
|||
|
|
# {
|
|||
|
|
# "success": true,
|
|||
|
|
# "data": {
|
|||
|
|
# "list": [
|
|||
|
|
# {
|
|||
|
|
# "id": 1234567890123,
|
|||
|
|
# "status": 1,
|
|||
|
|
# "file_path": "/reports/xxx.xlsx",
|
|||
|
|
# ...
|
|||
|
|
# }
|
|||
|
|
# ],
|
|||
|
|
# ...
|
|||
|
|
# }
|
|||
|
|
# }
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
如果 file_path 为空,说明是后端问题
|
|||
|
|
如果 file_path 有值,说明是前端显示问题
|
|||
|
|
|
|||
|
|
## 检查文件是否存在
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# Windows
|
|||
|
|
dir public\reports\*.xlsx
|
|||
|
|
|
|||
|
|
# Linux/Mac
|
|||
|
|
ls -la public/reports/*.xlsx
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
确认文件是否真的生成了。
|
|||
|
|
|
|||
|
|
## 联系支持
|
|||
|
|
|
|||
|
|
如果以上步骤都无法解决问题,请提供:
|
|||
|
|
|
|||
|
|
1. 服务器控制台的完整日志(从生成到查看历史)
|
|||
|
|
2. 浏览器控制台的完整输出
|
|||
|
|
3. curl测试API的返回结果
|
|||
|
|
4. public/reports/ 目录的文件列表
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
**最后更新**: 2025-01-08
|