分享一个日志工具 klog

kmvdata · 2019-06-08 23:25:54 · 4714 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2019-06-08 23:25:54 的主题,其中的信息可能已经有所发展或是发生改变。

由于项目需要,今天写了一个日志工具: 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)

}

如果大家觉得好用,请给我加个星星,也欢迎大家提出建议。


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

4714 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传