CentOS上定位Golang日志错误的实用流程
一 日志采集与增强
二 快速定位命令与过滤
三 典型场景与对应命令
| 场景 | 快速定位命令 | 关键要点 |
|---|---|---|
| 服务启动失败 | journalctl -u myapp -b -e;tail -n 200 /var/log/myapp.log | 先看服务日志末尾与退出码 |
| 运行中出现大量 ERROR | grep -n “ERROR” app.log | 结合时间与上下文定位触发路径 |
| 某时间段异常 | awk ‘/2025-11-23 10:00:00/,/2025-11-23 10:10:00/’ app.log | 缩小范围后精确定位 |
| 端口占用/监听异常 | ss -lntp | grep 8080;lsof -iTCP:8080 |
| 崩溃/panic | grep -n “panic|fatal” app.log;dmesg | 查看堆栈与内核 OOM/段错误线索 |
| 性能瓶颈/卡顿 | go tool pprof http://localhost:6060/debug/pprof/profile | 采样 30s 分析热点函数与调用栈 |
四 日志轮转与保留策略
五 代码侧可观测性改进建议