温馨提示×

golang日志在debian存哪

小樊
43
2026-09-01 05:35:12
栏目: 编程语言

在 Debian 上用 Go 写的程序,日志放在哪完全取决于你的程序怎么写,Go 本身不强制日志位置。常见情况如下:

1. 没写日志文件(最常见)

如果代码里只是用:

log.Println("xxx")
fmt.Println("xxx")

默认输出到 标准输出 / 标准错误(stdout / stderr)不会自动存文件

运行方式不同,位置不同:

  • 直接终端运行:显示在终端
  • systemd 服务运行:在 journalctl
    journalctl -u 你的服务名
    
  • nohup / & 运行:
    nohup ./app > app.log 2>&1 &
    
    日志在 app.log

2. 代码里指定了日志文件

比如:

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

那日志就在你写的路径,常见位置:

  • /var/log/你的程序名.log
  • /var/log/myapp/
  • 用户目录 ~/myapp.log

3. 使用第三方日志库

  • logrus / zap / zerolog
    都需要在代码或配置里指定 file 输出路径

4. Debian 系统常见日志位置(参考)

场景 位置
systemd 服务 journalctl
手动指定 /var/log/*.log
Web 服务 /var/log/nginx, /var/log/apache2
Docker docker logs 容器名

快速排查你程序日志在哪

# 找进程
ps aux | grep 你的程序

# 看是不是 systemd
systemctl status 你的服务

# 看文件
sudo ls -l /var/log | grep 程序名

如果你贴一下启动方式或代码,我可以直接告诉你日志在哪。

0