温馨提示×

怎么用debian查golang日志

小樊
38
2026-09-04 01:50:19
栏目: 编程语言

在 Debian 上“查 Golang 日志”通常分几种情况,下面按常见场景给你说明。


一、Golang 程序是自己写的(用标准库或日志库)

1. 程序直接输出到终端

如果你是这样运行的:

./myapp

日志直接显示在终端。

后台运行时查看:

./myapp > app.log 2>&1 &
tail -f app.log

2. 使用 log 包写到文件

log.SetOutput(os.OpenFile("/var/log/myapp.log", os.O_CREATE|os.O_APPEND|os.O_WRONLY, 0644))

查看日志:

tail -f /var/log/myapp.log
less /var/log/myapp.log
grep ERROR /var/log/myapp.log

二、Golang 程序作为 systemd 服务运行(最常见)

1. 查看日志(推荐)

sudo journalctl -u myapp.service

实时查看:

sudo journalctl -u myapp.service -f

只看错误:

sudo journalctl -u myapp.service -p err

2. 示例 service 文件

[Unit]
Description=My Golang App

[Service]
ExecStart=/usr/local/bin/myapp
WorkingDirectory=/opt/myapp
User=appuser
Restart=always

[Install]
WantedBy=multi-user.target

三、使用第三方日志库(logrus / zap / slog)

这些库一般也是:

  • 输出到 stdout(被 systemd 捕获)
  • 或写文件

查看方式和上面一样:

sudo journalctl -u myapp -f
# 或
tail -f /var/log/myapp.log

四、常用排查命令汇总

# 看进程
ps aux | grep myapp

# 看端口
ss -lntp | grep myapp

# 看系统日志
dmesg | tail

# 看全部日志
journalctl -xe

五、如果你能提供更多信息,我可以更精确回答

你可以告诉我:

  1. Golang 程序是怎么运行的(命令行 / systemd / docker)
  2. 日志是写到文件还是终端
  3. 用的是哪个日志库(标准 log / logrus / zap / slog)

我可以给你更具体的命令示例。

0