在 Debian 上查看 Golang 程序的日志,要看你的程序日志是写到哪里的。下面按常见情况给你一个清晰的排查思路。
如果程序里用的是:
fmt.Println("xxx")
log.Println("xxx")
或者没做特殊配置,日志通常会输出到:
journaldsystemctl list-units --type=service | grep your-app
journalctl -u your-app.service -f
常用参数:
journalctl -u your-app.service -n 100 # 最近 100 行
journalctl -u your-app.service --since "10 min ago"
✅ 这是 Debian 上最推荐的方式
/var/log/your-app.log
/var/log/app/xxx.log
./logs/xxx.log
tail -f /var/log/your-app.log
grep -i error /var/log/your-app.log
docker logs -f 容器名或ID
docker logs --tail 100 容器名
log(标准库)logruszapzerolog如果用了日志库,注意是否配置了:
log.SetOutput(&lumberjack.Logger{
Filename: "/var/log/app.log",
MaxSize: 10,
MaxBackups: 3,
})
journalctl -xe
cat /var/log/syslog
程序怎么启动的?
├─ systemd → journalctl -u xxx
├─ 直接运行 → 看终端 / 重定向文件
├─ Docker → docker logs
└─ 写文件 → tail -f /var/log/xxx.log
你可以直接贴:
我可以一步一步帮你定位是哪里的日志、为什么看不到、怎么改。