商城首页欢迎来到中国正版软件门户

您的位置:首页 >Golang日志在CentOS上如何归档

Golang日志在CentOS上如何归档

  发布于2026-06-12 阅读(0)

扫一扫,手机访问

处理 Golang 应用日志的归档,在 CentOS 环境下,logrotate 几乎是标配工具。它轻量、配置灵活,而且系统自带,省去了不少额外折腾。下面就把具体配置步骤拆开来讲,相信大家跟着走一遍就能搞定。

Golang日志在CentOS上如何归档

第一步,确认 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 应用日志的归档、压缩、过期清理就全自动化了。日常运维中省心不少,也避免了日志文件无限膨胀带来的麻烦。

本文转载于:https://www.yisu.com/ask/31792239.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注