在 Debian 下,Go(Golang)本身不会自动生成系统日志文件,所以“Go 日志路径在哪”要看你是 运行 Go 程序的方式 或 使用的日志库。常见情况如下:
Go 程序:
fmt.Println / log.Printlnlogrus、zap)如果你直接运行:
./myapp
日志通常输出在:
✅ 没有固定路径
如果你是通过 systemd 启动的:
# /etc/systemd/system/mygo.service
[Service]
ExecStart=/usr/local/bin/mygo
日志路径是:
/var/log/syslog
或(Debian 10+):
journalctl -u mygo.service
查看实时日志:
journalctl -u mygo.service -f
例如:
log.SetOutput(os.OpenFile("/var/log/mygo.log", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644))
那日志就在:
/var/log/mygo.log
⚠️ 需要程序对该目录有写权限
日志通常是:
查看:
docker logs 容器名
| 框架 | 常见位置 |
|---|---|
| Gin | 默认 stdout,需手动配置 |
| Beego | logs/ 目录(相对路径) |
| Echo | 默认 stdout |
| 类型 | 路径 |
|---|---|
| 系统日志 | /var/log/syslog |
| systemd | journalctl |
| 自定义日志 | /var/log/xxx.log |
| Nginx + Go | /var/log/nginx/ |
1️⃣ 看启动方式:
ps -ef | grep mygo
2️⃣ 如果是 systemd:
systemctl status mygo
journalctl -u mygo
3️⃣ 看代码有没有 os.OpenFile 或日志库配置
如果你愿意,可以把 Go 启动方式 / systemd 文件 / 日志库名 发出来,我可以帮你精确定位到文件。