温馨提示×

怎样查debian golang日志

小樊
40
2026-10-04 04:40:15
栏目: 编程语言

在 Debian 系统上查看 Golang 程序日志,取决于你的程序如何记录日志以及如何运行。下面按常见场景说明。


一、先看 Golang 程序把日志写到了哪里

1. 标准输出 / 标准错误(最常见)

如果程序是这样写的:

log.Println("hello")
fmt.Println("info")

日志默认输出到:

  • 终端(前台运行时)
  • systemd 的 journal(作为服务运行时)

✅ 查看方式:

journalctl -u your-service-name

或实时查看:

journalctl -u your-service-name -f

2. 写入日志文件

如果代码类似:

log.SetOutput(os.OpenFile("/var/log/myapp.log", ...))

查看日志:

cat /var/log/myapp.log
tail -f /var/log/myapp.log
less /var/log/myapp.log

3. 使用第三方日志库

常见库:

  • logrus
  • zap
  • slog(Go 1.21+)

这些库通常:

  • 输出到 stdout
  • 或指定文件

查看方式同上(journal 或日志文件)


二、如果是通过 systemd 运行的 Golang 服务

1. 查看服务状态

systemctl status your-service

2. 查看日志

journalctl -u your-service

3. 只看本次启动

journalctl -u your-service -b

4. 实时日志

journalctl -u your-service -f

三、如果是 Docker 运行的 Golang 程序

docker logs container_name
docker logs -f container_name

四、如果是手动运行(nohup / &)

nohup ./myapp > app.log 2>&1 &

查看:

tail -f app.log

五、常用排查命令汇总

# 查看进程
ps aux | grep myapp

# 查看端口
ss -tulpn | grep 8080

# 查看文件
ls -l /var/log/

# 实时跟踪
tail -f /var/log/myapp.log

六、如果你愿意,我可以进一步帮你

你可以告诉我:

  1. Golang 程序是怎么运行的(systemd / docker / 手动)
  2. 是否指定了日志文件
  3. 报错信息或片段

我可以直接帮你定位日志位置并分析内容。

0 踩