在 CentOS 上“搜 Golang 日志”一般分几种情况,下面按常见场景给你说明,基本都能用。
grep 搜索日志内容grep "error" /var/log/app/app.log
忽略大小写:
grep -i "timeout" /var/log/app/app.log
显示行号:
grep -n "panic" /var/log/app/app.log
搜索多个关键词:
grep -E "error|fail|panic" /var/log/app/app.log
tail -f /var/log/app/app.log | grep "error"
只看最近 100 行:
tail -n 100 /var/log/app/app.log | grep "timeout"
如果日志格式类似:
2026-01-21 10:20:30 error xxxx
sed -n '/2026-01-21 10:00/,/2026-01-21 11:00/p' /var/log/app/app.log
journalctl 查看journalctl -u your-golang-service
实时查看:
journalctl -u your-golang-service -f
按关键字搜索:
journalctl -u your-golang-service | grep "error"
只看今天:
journalctl -u your-golang-service --since today
jq 搜索cat app.log | jq 'select(.level=="error")'
安装 jq:
yum install jq -y
zgrep(压缩日志)zgrep "error" /var/log/app/app.log.1.gz
awk 精确过滤awk '/error/ {print}' /var/log/app/app.log
docker logs your-container | grep "error"
实时:
docker logs -f your-container | grep "panic"
方便以后搜索:
zap / logrus如果你愿意,可以告诉我:
我可以帮你写精准的搜索命令。