CentOS Golang日志如何查询
导读:CentOS系统下查询Golang应用程序日志的常见方法 1. 直接查看日志文件(适用于自定义路径的日志文件) 若Golang应用将日志输出到指定文件(如/var/log/myapp.log),可使用tail命令实时查看新增日志,或用gre...
CentOS系统下查询Golang应用程序日志的常见方法
1. 直接查看日志文件(适用于自定义路径的日志文件)
若Golang应用将日志输出到指定文件(如/var/log/myapp.log
),可使用tail
命令实时查看新增日志,或用grep
筛选特定内容:
- 实时查看日志:
tail -f /path/to/your/app.log
(按Ctrl+C
停止); - 查看特定时间段日志:结合
grep
与awk
,例如查看2025-09-26的日志:grep '2025-09-26' /path/to/your/app.log | awk '{ print $1, $2, $3} '
(调整字段数量适配日志格式); - 查看最后N行:
tail -n 100 /path/to/your/app.log
(显示最后100行)。
2. 通过systemd服务查看日志(适用于以systemd管理的应用)
若Golang应用以systemd服务(如my-golang-app.service
)运行,可使用journalctl
命令查询系统日志:
- 实时查看服务日志:
journalctl -u my-golang-app.service -f
; - 查看指定时间范围的日志:
journalctl -u my-golang-app.service --since "2025-09-26" --until "2025-09-27"
; - 过滤关键字:
journalctl -u my-golang-app.service | grep 'error'
(筛选含“error”的日志行)。
3. 查看标准输出/错误(适用于直接运行的应用)
若Golang应用直接在终端运行(未重定向日志),其输出会显示在当前终端。若需查看历史输出:
- 若进程仍在运行:可通过
ps aux | grep your_go_app
找到进程ID(PID),再用journalctl -p < PID> -f
查看; - 若进程已结束:标准输出/错误可能已丢失,建议提前将日志重定向到文件(如
./your_app > app.log 2> & 1
)。
4. 使用Docker容器查看日志(适用于容器化部署的应用)
若Golang应用运行在Docker容器中,可通过docker logs
命令查看容器日志:
- 实时查看容器日志:
docker logs -f < container_id_or_name>
; - 查看最后N行:
docker logs --tail 100 < container_id_or_name>
; - 筛选关键字:
docker logs < container_id_or_name> | grep 'warning'
。
注意事项
- 权限问题:若日志文件或systemd服务属于root用户,需用
sudo
提升权限(如sudo journalctl -u my-golang-app.service
); - 日志路径确认:若不确定日志文件路径,可通过应用代码(如
logrus
的Filename
配置)或lsof -p < PID> | grep log
命令查找; - 日志轮转:长期运行的应用建议配置日志轮转(如使用
lumberjack
库或logrotate
工具),避免日志文件过大。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS Golang日志如何查询
本文地址: https://pptw.com/jishu/717640.html