在CentOS上管理Golang日志可从日志库选择、输出配置、轮转策略及系统集成等方面入手,具体如下:
选择日志库:
配置日志输出:
os.OpenFile
创建文件,配合日志库的SetOutput
方法指定输出目标。file, _ := os.OpenFile("app.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666) logrus.SetOutput(file)
日志轮转管理:
lumberjack
库配合日志库实现轮转,设置文件大小、备份数量及压缩等策略。logWriter := &lumberjack.Logger{ Filename: "app.log", MaxSize: 10, // MB MaxBackups: 3, Compress: true, } logrus.SetOutput(logWriter)
系统级日志集成:
rsyslog
或journalctl
收集Golang应用日志,需在应用中配置输出到系统日志(如使用syslog
协议)。/etc/rsyslog.d/app.conf
中添加规则,将应用日志定向到指定文件。日志级别与格式:
InfoLevel
、ErrorLevel
),不同库的设置方式略有差异。自动化管理:
logrotate
工具定期清理过期日志,避免磁盘占用。参考资料:[1,2,3,5,6,7,8,9,10,11]