在 Debian 系统上查看 Golang 程序的日志,主要取决于你的 Go 程序是如何输出日志的(stdout、文件、syslog、systemd 等)。下面按常见场景给你一个完整说明。
大多数 Go 程序使用:
fmt.Println()
log.Println()
log.Fatal()
✅ 查看方式:
go run main.go
或:
./myapp
日志会直接显示在终端。
log.SetOutput(os.OpenFile("app.log", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644))
cat app.log
less app.log
tail -f app.log
✅ 实时查看:
tail -f app.log
journalctl -u your-service-name
实时查看:
journalctl -u your-service-name -f
查看最近 100 行:
journalctl -u your-service-name -n 100
Go 程序如果在 systemd 中运行,默认会输出到 journal。
示例 service 文件:
[Service]
ExecStart=/usr/local/bin/myapp
Restart=always
✅ 日志会自动进入 systemd journal。
log/syslog
cat /var/log/syslog
less /var/log/syslog
或:
grep myapp /var/log/syslog
logruszapzerolog✅ 查看方式取决于配置:
# 1. 是否是 systemd 服务
systemctl status your-service
# 2. 查看 journal 日志
journalctl -u your-service -f
# 3. 是否写文件
ls /var/log/
find / -name "*.log" 2>/dev/null
# 4. 查看进程输出
ps aux | grep myapp
logjournalctl -u your-service --since "10 min ago"
你可以直接贴出: