gookit/slog
ð轻巧,可配置的,可扩展的记录库。
支持多级,多输出和内置的多文件记录器,缓冲区,干净,旋转文件处理。
V0.5.2 ChangElog
完整的changelog :https://github.com/gookit/slog/compare/v0.5.1...v0.5.2
特征
- - 壮举:添加新选项fileperm以自定义日志文件创建的权限。问题#102 https://github.com/gookit/slog/commit/699ecd8bc2dea0fb35607ba89d4299e86f96e40b
- - feat:rotateFile-添加了新的选项
ModeCreate
,以支持在旋转时创建日志文件。 https://github.com/gookit/slog/commit/8c4a9a08a9b3432a699f6770b73935ecfd42e5b8
更新
- ðup:更新和添加更多单元测试,将goutil升级到v0.6.10 https://github.com/gookit/slog/commit/693cc04eb0e375183357be18893cbecaa171ffa1
- ðdoc:更新readme文档说明https://github.com/gookit/slog/commit/cbf77c38db5615a9a7ec8ab07853b2f9e3517bfa
- 测试:添加更多单位测试用例https://github.com/gookit/slog/commit/8468ea470645bb981fb34002176671bac1a9559e
新功能用法
自定义日志文件权限
通过配置hander.Config
的FilePerm
设置创建的日志文件权限标志。
h1 := handler.MustFileHandler("/tmp/error.log",
handler.WithLogLevels(slog.DangerLevels),
handler.WithFilePerm(0644), // <- sets log file permissions
)
slog.PushHandler(h1)
使用ModeCreate模式拆分文件
关于RotateMode
:
- 默认情况下,每次重命名处理旋转时,
- ModeCreate仅通过拆分时间创建文件
设置RotateMode=ModeCreate
允许仅通过拆分时间创建日志文件。
h1 := handler.MustRotateFile(
"/tmp/error.log",
rotatefile.EveryHour, // split by hour
handler.WithLogLevels(slog.DangerLevels),
handler.WithRotateMode(rotatefile.ModeCreate), // set RotateMode=ModeCreate
)
slog.PushHandler(h1)
在上面的示例中将logFile配置为/tmp/error.log
。设置为ModeCreate
模式时,实际上不会创建文件,
相反,它将根据实际的拆分时间创建:
/tmp/error.log.20230618_1500
/tmp/error.log.20230618_1600
/tmp/error.log.20230618_1700
...
提示:
ModeCreate
模式可以应用于命令行工具应用程序。因为他们在每次执行后退出,所以ModeRename
可能无法按时拆分文件。
使用ModeRename
模式将具有以下效果:
/tmp/error.log # <- Logs are always written to this file
/tmp/error.log.20230618_1500
/tmp/error.log.20230618_1600
/tmp/error.log.20230618_1700
...
更多用法
更多用法请参见README