在CentOS上進行Golang日志分析,可按以下步驟操作:
log
可直接輸出日志到文件或標準輸出;第三方庫如logrus
、zap
支持結構化日志、日志輪轉等功能,需在代碼中配置輸出路徑和格式。logrus.SetOutput(os.OpenFile("app.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0644))
logrus.SetFormatter(&logrus.JSONFormatter{})
systemd
服務捕獲日志:在服務配置文件中指定StandardOutput
和StandardError
路徑,將日志寫入系統日志文件。logrotate
管理日志文件,避免過大:創建配置文件/etc/logrotate.d/myapp
,設置按天輪轉、壓縮等規則。grep
過濾關鍵字:grep 'error' /path/to/logfile.log
。awk
統計分析:如統計錯誤數量awk '/error/ {count++} END {print count}' logfile.log
。zap
等庫輸出JSON格式日志,便于ELK等工具解析。工具推薦:
logrotate
+GoAccess
(輕量級,快速生成報告)。