go.uber.org/zap 日志库高性能写入
使用 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 编码