在CentOS上,你可以使用logrotate工具来归档Golang应用程序的日志。以下是配置和使用logrotate的步骤:
logrotate。在大多数CentOS版本中,它应该已经预装了。如果没有,你可以使用以下命令安装:sudo yum install logrotate
logrotate配置文件,用于指定Golang应用程序的日志文件路径和归档设置。例如,创建一个名为/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。logrotate配置文件中的路径一致。例如,如果你使用的是logrus库,可以这样设置日志输出:import (
log "github.com/sirupsen/logrus"
)
func main() {
log.SetOutput("/path/to/your/golang/app/logs/my_app.log")
// ...
}
保存更改并重新启动Golang应用程序,以便应用新的日志输出路径。
现在,logrotate将按照配置文件的设置自动归档和压缩Golang应用程序的日志文件。你可以使用以下命令手动触发日志归档:
sudo logrotate -f /etc/logrotate.d/my_golang_app
这将强制执行logrotate配置文件中的设置,归档和压缩日志文件。