在 Debian 下“读 Go 日志”通常有几种场景,下面按常见用法给你一个清晰指南。
如果 Go 程序是直接运行的:
./yourapp
日志会直接打印在终端。
后台运行时:
./yourapp > app.log 2>&1 &
查看日志:
tail -f app.log
Debian 下 Go 服务一般通过 systemd 运行。
journalctl -u yourapp.service -f
journalctl -u yourapp.service -n 100
journalctl -u yourapp.service --since "2024-01-01 00:00:00"
journalctl -u yourapp.service -b
Go 代码类似:
log.SetOutput(os.OpenFile("/var/log/yourapp.log", ...))
查看:
tail -f /var/log/yourapp.log
或:
less /var/log/yourapp.log
{"level":"info","msg":"user login","uid":123}
查看技巧:
grep "error" /var/log/yourapp.log
jq '.msg' /var/log/yourapp.log
(需安装 jq:apt install jq)
# 实时看
tail -f 日志文件
# 搜索错误
grep -i error 日志文件
# 看服务状态
systemctl status yourapp
# 看服务日志
journalctl -u yourapp -f
你可以告诉我:
我可以给你完全对应的命令示例。