温馨提示×

debian golang日志在哪查看

小樊
37
2026-09-01 05:15:12
栏目: 编程语言

在 Debian 系统上,Golang 程序本身的日志位置并不固定,主要取决于程序是如何运行的以及日志写到了哪里。下面按常见情况说明:


一、Go 程序自己写日志(最常见)

Go 程序一般用 log 包或第三方库(如 zaplogrus)输出日志:

1. 输出到终端(stdout / stderr)

如果你是手动运行

./myapp

日志直接打印在当前终端

2. 输出到文件

如果代码里写了:

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

日志在:

/var/log/myapp.log

(路径由程序决定)


二、通过 systemd 运行(服务器最常见)

如果 Go 程序是用 systemd 管理的:

查看日志

journalctl -u 服务名

例如:

journalctl -u mygoapp
journalctl -u mygoapp -f   # 实时查看

服务文件位置

/etc/systemd/system/mygoapp.service

三、通过 supervisor 运行

如果你用 supervisor

日志位置

一般在:

/var/log/supervisor/

或配置文件中指定的:

stdout_logfile=/var/log/myapp.out.log
stderr_logfile=/var/log/myapp.err.log

查看:

tail -f /var/log/myapp.out.log

四、Docker 中运行的 Go 程序

docker logs 容器名
docker logs -f 容器名

五、系统级日志(较少用于 Go)

/var/log/syslog
/var/log/messages

(一般只有 panic、崩溃信息)


快速排查建议

  1. 看程序怎么启动:
    ps aux | grep 程序名
    
  2. 看有没有 systemd:
    systemctl list-units | grep 程序名
    
  3. 看代码里日志写哪了

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

  • 程序是怎么启动的(手动 / systemd / docker)
  • 用的是哪个日志库

我可以帮你精确定位日志文件

0