由于项目需要,今天写了一个日志工具:
https://github.com/kmvdata/klog
主要功能上类似Java中的 org.slf4j.Logger:
1. 指定日志文件名(含目录),并可选指定是否同时打印到stdout。
2. 设置一个最大的日志文件大小,超过这个size的日志,会被自动备份,并可选择是否压缩备份。
3. 一行代码即可进行初始化,方便易用。
4. 可重入(reentrant)支持。
5. 完全依赖于golang标准库的log进行封装,无更多依赖。
代码Demo:
func main() {
// Init
klog.InitKLog("./log/my-log", 0, true)
// Set Max Size
// Or klog.SetMaxFileSizeMB(200) ==> Set to 200MB
klog.SetMaxFileSizeKB(200)
// Test Code
for i := 0; i < 10000; i++ {
klog.Info.Printf("Hello %s", "World!")
klog.Error.Printf("Hello %s", "Error!")
}
// Sleep make sure that uncompress *.log can be deleted.
time.Sleep(time.Duration(2) * time.Second)
}
如果大家觉得好用,请给我加个星星,也欢迎大家提出建议。
有疑问加站长微信联系(非本文作者)