日志查看指南.md
6.53 KB
日志查看指南
📍 日志位置
根据不同的启动方式,日志位置不同:
方式一:宝塔面板进程管理器(推荐)
如果使用宝塔面板的进程管理器启动应用:
- 登录宝塔面板 → 软件商店 → 进程管理器
- 找到你的应用进程(例如:
DouyinLogistics.API) - 点击 日志 按钮查看实时日志
日志文件位置:
/www/server/panel/logs/
方式二:使用 systemd 服务
如果使用 systemd 启动(例如:/etc/systemd/system/douyin-api.service):
查看实时日志:
# 查看实时日志
journalctl -u douyin-api -f
# 查看最近100行日志
journalctl -u douyin-api -n 100
# 查看今天的日志
journalctl -u douyin-api --since today
# 查看指定时间的日志
journalctl -u douyin-api --since "2024-12-03 14:00:00" --until "2024-12-03 15:00:00"
查看日志文件:
# systemd 日志位置
/var/log/journal/
方式三:直接运行 dotnet 命令
如果直接在终端运行:
dotnet DouyinLogistics.API.dll --urls http://127.0.0.1:5000
日志输出位置:
- 直接输出到控制台(终端)
- 如果重定向到文件,日志在重定向的文件中
示例(重定向到文件):
# 启动并重定向日志到文件
dotnet DouyinLogistics.API.dll --urls http://127.0.0.1:5000 > /www/wwwroot/douyin-api/logs/app.log 2>&1 &
# 查看日志
tail -f /www/wwwroot/douyin-api/logs/app.log
方式四:使用 Supervisor
如果使用 Supervisor 管理进程:
查看日志:
# 查看 Supervisor 日志
tail -f /var/log/supervisor/douyin-api.log
# 或者查看 Supervisor 配置的日志文件位置
cat /etc/supervisor/conf.d/douyin-api.conf | grep stdout_logfile
🔍 关键日志搜索
查看发货相关日志
# 搜索发货成功日志
grep "发货成功\|✅.*发货" /path/to/logs
# 搜索发货失败日志
grep "发货失败\|❌.*发货" /path/to/logs
# 搜索发货接口响应
grep "抖音发货接口响应" /path/to/logs
# 搜索发货请求参数
grep "发货请求参数" /path/to/logs
查看创建运单相关日志
# 搜索创建运单日志
grep "创建运单\|logistics.newCreateOrder" /path/to/logs
# 搜索运单创建响应
grep "抖音创建运单响应" /path/to/logs
查看错误日志
# 搜索所有错误日志
grep -i "error\|exception\|失败" /path/to/logs
# 搜索特定订单的错误
grep "OrderId=你的订单ID" /path/to/logs
📋 常用日志查看命令
实时查看日志(推荐)
# 方式一:使用 tail -f(如果日志在文件中)
tail -f /path/to/logs/app.log
# 方式二:使用 journalctl -f(如果使用 systemd)
journalctl -u douyin-api -f
# 方式三:使用 less +F(可以上下滚动)
less +F /path/to/logs/app.log
# 按 Ctrl+C 退出实时查看,按 F 重新进入实时查看
查看最近的日志
# 查看最后100行
tail -n 100 /path/to/logs/app.log
# 查看最后1000行并实时更新
tail -n 1000 -f /path/to/logs/app.log
搜索特定内容
# 搜索包含"发货"的日志
grep "发货" /path/to/logs/app.log
# 搜索包含"发货"的日志(显示前后5行上下文)
grep -C 5 "发货" /path/to/logs/app.log
# 搜索包含"发货"的日志(不区分大小写)
grep -i "发货" /path/to/logs/app.log
# 搜索多个关键词
grep -E "发货成功|发货失败" /path/to/logs/app.log
按时间筛选日志
# 查看今天的日志(如果日志文件按日期命名)
cat /path/to/logs/app-$(date +%Y-%m-%d).log
# 使用 journalctl 按时间筛选
journalctl -u douyin-api --since "1 hour ago"
journalctl -u douyin-api --since "2024-12-03 14:00:00" --until "2024-12-03 15:00:00"
🎯 快速排查问题
1. 查看发货是否成功
# 搜索最近的发货日志
grep "发货成功\|发货失败" /path/to/logs | tail -20
2. 查看发货接口的错误信息
# 查看发货接口的响应
grep -A 10 "抖音发货接口响应" /path/to/logs | tail -50
3. 查看特定订单的完整日志
# 替换 YOUR_ORDER_ID 为实际订单ID
grep "YOUR_ORDER_ID" /path/to/logs
4. 查看错误堆栈
# 查看包含异常堆栈的日志
grep -A 20 "Exception\|Error" /path/to/logs | tail -100
💡 宝塔面板推荐配置
方式一:使用宝塔进程管理器(最简单)
- 宝塔面板 → 软件商店 → 进程管理器
- 添加进程:
- 名称:
DouyinLogistics.API - 启动命令:
dotnet /www/wwwroot/douyin-api/DouyinLogistics.API.dll --urls http://127.0.0.1:5000 - 运行目录:
/www/wwwroot/douyin-api - 日志文件:
/www/wwwroot/douyin-api/logs/app.log
- 名称:
- 点击 日志 按钮即可查看实时日志
方式二:创建 systemd 服务
创建文件 /etc/systemd/system/douyin-api.service:
[Unit]
Description=Douyin Logistics API
After=network.target
[Service]
Type=notify
WorkingDirectory=/www/wwwroot/douyin-api
ExecStart=/usr/bin/dotnet /www/wwwroot/douyin-api/DouyinLogistics.API.dll --urls http://127.0.0.1:5000
Restart=always
RestartSec=10
StandardOutput=journal
StandardError=journal
SyslogIdentifier=douyin-api
User=www
Environment=ASPNETCORE_ENVIRONMENT=Production
[Install]
WantedBy=multi-user.target
然后:
# 重载 systemd
systemctl daemon-reload
# 启动服务
systemctl start douyin-api
# 设置开机自启
systemctl enable douyin-api
# 查看日志
journalctl -u douyin-api -f
📝 日志级别说明
根据 appsettings.json 配置:
- Default:
Information- 记录信息级别及以上的日志 - Microsoft.AspNetCore:
Warning- 只记录警告和错误
日志级别(从低到高):
Debug- 调试信息(最详细)Information- 一般信息(默认)Warning- 警告信息Error- 错误信息Critical- 严重错误
当前代码中的日志级别:
_logger.LogDebug()- 调试信息(默认不显示)_logger.LogInformation()- 一般信息(会显示)_logger.LogWarning()- 警告(会显示)_logger.LogError()- 错误(会显示)
🔧 临时启用 Debug 日志
如果需要查看更详细的日志,可以临时修改 appsettings.json:
{
"Logging": {
"LogLevel": {
"Default": "Debug", // 改为 Debug 可以看到更详细的日志
"Microsoft.AspNetCore": "Warning"
}
}
}
修改后需要重启应用才能生效。