温馨提示×

centos查golang日志用啥命令

小樊
55
2026-09-15 06:18:00
栏目: 编程语言

在 CentOS 上查看 Golang 程序日志,一般用 Linux 常用日志查看命令 即可,具体取决于你的 Golang 日志输出到哪里。


一、Golang 日志常见输出位置

  1. 直接输出到终端(stdout / stderr)
  2. 写入文件(如 app.log)
  3. 使用系统日志(journalctl)
  4. 集中式日志(ELK / Loki 等)

二、常见查看命令

1️⃣ 查看日志文件(最常见)

如果 Golang 写日志到文件,比如 /var/log/app.log:

# 实时查看
tail -f /var/log/app.log

# 查看最后 100 行
tail -n 100 /var/log/app.log

# 搜索关键字(如 error)
grep "error" /var/log/app.log

# 实时搜索
tail -f /var/log/app.log | grep "error"

2️⃣ 查看正在运行进程的输出

如果你是 nohup 或 & 启动的:

# nohup 启动的
tail -f nohup.out

# 查看进程
ps -ef | grep go

3️⃣ systemd 管理的 Golang 服务(推荐)

如果是用 systemctl 启动的:

# 查看实时日志
journalctl -u your-service-name -f

# 查看最近 200 行
journalctl -u your-service-name -n 200

# 按时间查看
journalctl -u your-service-name --since "2026-01-21 10:00"

4️⃣ 查看容器中的 Golang 日志(Docker)

docker logs -f container_name

# 最近 100 行
docker logs --tail 100 container_name

5️⃣ 多文件 / 大日志分析

# 查看多个日志
less /var/log/app*.log

# 统计错误数量
grep -c "error" /var/log/app.log

三、实用组合命令

# 实时看错误日志
tail -f /var/log/app.log | grep --line-buffered "error"

# 看某时间段日志
sed -n '/10:00/,/11:00/p' /var/log/app.log

四、建议

  • 生产环境 推荐用 systemd + journalctl
  • Golang 可用 logrus / zap / slog 写结构化日志
  • 日志路径建议在配置文件中明确

如果你愿意,可以告诉我:

  • Golang 是怎么启动的(nohup / systemd / docker)
  • 日志写到哪里了

我可以给你更精准的命令。

0 踩