温馨提示×

debian下如何读go日志

小樊
34
2026-09-01 05:26:11
栏目: 编程语言

在 Debian 下“读 Go 日志”通常有几种场景,下面按常见用法给你一个清晰指南。


一、Go 程序自己输出日志(stdout / stderr)

如果 Go 程序是直接运行的:

./yourapp

日志会直接打印在终端。

后台运行时:

./yourapp > app.log 2>&1 &

查看日志:

tail -f app.log

二、用 systemd 管理的 Go 服务(最常见)

Debian 下 Go 服务一般通过 systemd 运行。

1. 查看实时日志

journalctl -u yourapp.service -f

2. 查看最近 100 行

journalctl -u yourapp.service -n 100

3. 按时间查看

journalctl -u yourapp.service --since "2024-01-01 00:00:00"

4. 查看本次启动后的日志

journalctl -u yourapp.service -b

三、Go 使用 log 包写文件日志

Go 代码类似:

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

查看:

tail -f /var/log/yourapp.log

或:

less /var/log/yourapp.log

四、结构化日志(logrus / zap / slog)

示例(JSON 日志)

{"level":"info","msg":"user login","uid":123}

查看技巧:

grep "error" /var/log/yourapp.log
jq '.msg' /var/log/yourapp.log

(需安装 jqapt install jq


五、常用排查命令总结

# 实时看
tail -f 日志文件

# 搜索错误
grep -i error 日志文件

# 看服务状态
systemctl status yourapp

# 看服务日志
journalctl -u yourapp -f

六、如果你愿意,我可以更具体

你可以告诉我:

  • Go 程序是怎么运行的(直接运行 / systemd / docker)
  • 日志写到哪里(终端 / 文件 / journal)
  • 用的什么日志库(标准库 / logrus / zap / slog)

我可以给你完全对应的命令示例

0