日志排查(定位线上问题)
从日志里快速找到报错和上下文。
模板正文
# 1) 先看最近的错误 tail -n 500 app.log | grep -i "error\|exception" | tail -50 # 2) 看某个请求 ID 的完整链路 grep "req-8f3a91" app.log # 3) 统计错误类型分布 grep -oE "Error: [A-Za-z]+" app.log | sort | uniq -c | sort -rn | head # 4) 看某个时间段(配合日志时间格式) sed -n '/2026-10-04 10:0/,/2026-10-04 10:1/p' app.log # 5) 实时过滤(只看某个用户的请求) tail -f app.log | grep "user_id=12345" # 6) 大日志按时间切分后搜索 awk '$1=="2026-10-04" && $2>="10:00"' app.log | head -100
怎么用
线上出问题时按这个顺序查。
使用要点
- 先按「请求 ID」串出完整链路,比逐行翻日志快得多。
- 统计错误分布能看出是偶发还是系统性问题,先解决问题量最大的。