在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]