发布于2026-07-13 阅读(0)
扫一扫,手机访问
在 Ubuntu 系统上排查 Golang 应用的日志,其实没有想象中那么复杂——但前提是你得知道该往哪个方向找。不同的运行方式决定了日志的“藏身之处”,下面这几种方法基本能覆盖绝大多数场景。

直接读文件:最传统也最可靠
如果你的 Golang 应用在代码里就把日志写到了某个文件里,那直接上命令行是最快的。用 cat 一口气看完全文,或者用 tail -f 实时追踪新日志,还可以用 less 分页慢慢翻。
cat /path/to/your/logfile.log
tail -f /path/to/your/logfile.log # 实时刷新
less /path/to/your/logfile.log # 分页浏览
用 journalctl 查系统服务日志
很多 Golang 应用部署时都会用 systemd 管理——这是 Ubuntu 的推荐方式。如果你把应用注册成了 systemd 服务,那它的日志会统一归 systemd-journald 管。这时候直接用 journalctl 指定服务名就行。
journalctl -u your-service-name
想实时看更新?加个 -f 参数:
journalctl -u your-service-name -f
这个方法的好处是:日志自动带时间戳,还能按优先级过滤,比直接看文件更清晰。
查内核日志?用 dmesg
虽然 Golang 应用一般不会直接跟内核打交道,但如果你的应用涉及底层系统调用、网络栈、甚至某些硬件驱动的问题,那内核日志里可能藏着线索。配合 grep 筛选一下应用的关键词:
dmesg | grep your-application-name
不过说实话,这是比较小众的场景,大多时候用不上。
用 grep 从日志里捞关键信息
日志文件一大了,光靠眼睛扫肯定不现实。用 grep 搜关键词是最基础的技巧。比如找所有包含 “error” 的行:
grep "error" /path/to/your/logfile.log
还可以配合 -i 忽略大小写、-C 5 显示上下文——折腾几次你就知道多省事了。
上日志管理工具:适合大规模场景
如果应用部署在多台机器上,或者日志量特别大,单机命令就不太够用了。这时候可以考虑 ELK(Elasticsearch, Logstash, Kibana)或者 Graylog 这类集中式日志平台。虽然部署起来需要花点功夫,但一旦跑起来,搜索、聚合、可视化都方便得多。对于个人或小团队项目,其实没必要急着上这套,前四种方法基本够用。
选择哪种方式,主要取决于你的应用是直接写文件、走 systemd 服务,还是已经用了外部日志库。先搞清楚日志输出的去向,再对着上面的方法试就行,总有一款适合你。
上一篇:怎样用Nginx实现故障转移
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8