您的位置:首页 >Golang日志在CentOS上如何归档
发布于2026-06-12 阅读(0)
扫一扫,手机访问
处理 Golang 应用日志的归档,在 CentOS 环境下,logrotate 几乎是标配工具。它轻量、配置灵活,而且系统自带,省去了不少额外折腾。下面就把具体配置步骤拆开来讲,相信大家跟着走一遍就能搞定。

第一步,确认 logrotate 是否已安装。在 CentOS 上它默认就装好了,但如果不放心,可以跑一下安装命令,反正也不会出问题:
sudo yum install logrotate
第二步,为你的 Golang 应用单独建一个 logrotate 配置文件。最方便的做法是在 /etc/logrotate.d/ 目录下新建一个文件,比如叫 my_golang_app,然后写入以下内容:
/path/to/your/golang/app/logs/*.log {
daily
rotate 7
compress
missingok
notifempty
create 0640 root root
}
来简单拆解一下这段配置的意思:
daily —— 每天轮转一次,不用等日志把磁盘撑爆。rotate 7 —— 保留最近 7 个归档文件,再老的自动删掉。compress —— 归档时顺手压缩,节省空间。missingok —— 如果日志文件不存在,不报错也不中断。notifempty —— 空日志文件不轮转,避免生成一堆空壳。create 0640 root root —— 轮转后自动创建一个新日志文件,权限 0640,属主 root。第三步,修改 Golang 应用里的日志输出路径,让它和上面配置文件指定的路径对上号。比如用 logrus 库,代码里设置输出文件就行:
import (
log "github.com/sirupsen/logrus"
)
func main() {
log.SetOutput("/path/to/your/golang/app/logs/my_app.log")
// ...
}
第四步,保存代码改动,重启应用使新路径生效。这样应用写日志就会落到我们监控的目录下了。
第五步,其实从此刻起,logrotate 已经在后台按天自动干活了——每天凌晨它会检查配置,发现新日志就归档、压缩、清理。如果想立刻验证效果,也可以手动强制触发一次:
sudo logrotate -f /etc/logrotate.d/my_golang_app
这样配置完成后,Golang 应用日志的归档、压缩、过期清理就全自动化了。日常运维中省心不少,也避免了日志文件无限膨胀带来的麻烦。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8