使用 go.uber.org/zap 實現日志分割功能
實現按照單個文件最大MB自動分割,最多保留多少天的文件,是否啟用壓縮,按天自動分割日志
核心依賴
go.uber.org/zap
:核心日志庫lumberjack.v2
:日志輪轉工具(實現按大小/時間分割)- 時間處理依賴標準庫
time
實現步驟
1. 初始化 lumberjack 配置
import "gopkg.in/natefinch/lumberjack.v2"logRotator := &lumberjack.Logger{Filename: "/var/log/myapp/app.log", // 日志路徑MaxSize: 100, // 單個文件最大MBMaxBackups: 60, // 保留60個文件MaxAge: 60, // 保留60天Compress: true, // 啟用壓縮LocalTime: true, // 使用本地時間
}
2. 創建 zap 編碼