支持大小限制和rotate的log库,还是很有必要的,前者让你不再操心磁盘被吃光,后者让查日志更方便。

但是在golang中没有太好的实现,看过一些开源的和自行实现的,都有几个不满意的地方,比如:

没有rotate的,比如glog。

写的很复杂,并且需要复杂配置的,比如seelog。

把日志先输送到单个channel,再format写入磁盘的,没有充分利用多核多线程。

逻辑写得很诡异的,存在bug的,文件名异常长的,rotate逻辑写得不对的,比如github.com/natefinch/lumberjack、github.com/antigloss/go。

不支持不同输出的。

最后找到siddongtang大神写的,很简洁很和谐,我也提交了个pull request。之前一直用他的mysql canal,感觉他写代码还是不错的。

log库在此:https://github.com/siddontang/go/tree/master/log

转载于:https://www.cnblogs.com/dearplain/p/9195632.html

支持rotate和大小限制的golang log库相关推荐

  1. Golang 库: 为什么 Golang slog 库不支持 `slog.Fatal` API

    Golang 库: 为什么 Golang slog 库不支持 slog.Fatal API 原文链接: https://tangx.in/posts/2023/01/06/why-dont-golan ...

  2. Android官方提供的支持不同屏幕大小的全部方法

    2019独角兽企业重金招聘Python工程师标准>>> 本文将告诉你如何让你的应用程序支持各种不同屏幕大小,主要通过以下几种办法: 让你的布局能充分的自适应屏幕 根据屏幕的配置来加载 ...

  3. Golang 标准库提供的Log(一)

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://gotaly.blog.51cto.com/8861157/1405754 Gol ...

  4. Golang 标准库log的实现

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://gotaly.blog.51cto.com/8861157/1406905 前一篇 ...

  5. java基础 --- Arrays.asList():返回指定数组支持的固定大小列表

    Arrays.asList():返回指定数组支持的固定大小列表 首先看下这个方法的源码注释,注意第一句,Returns a fixed-size list backed by the specifie ...

  6. 计算机支持最大内存大小,怎么查看电脑支持的最大内存?

    首先明确的一点是电脑所支持的最大内存容量是由主板北桥芯片所决定的,主板的制作工艺直接决定了其支持容量的大小,换句话来说在电脑出厂后所支持拓展的内存容量就是定型的了.当然了,支持内存的容量大小还跟你所装 ...

  7. 计算机支持最大内存大小,64位电脑系统可以支持多大内存【详细介绍】

    电脑最大支持多大内存条? 很多小白朋友对这方面的知识并不了解,导致走了很多弯路,其实电脑支持的内存位数取决于处理器.系统位数.主板等,不懂不要紧,今天小编给大家分享下详细的电脑最大支持多大内存条的相关 ...

  8. java 检测网络图片大小_java – 网络摄像头支持的图片大小

    我正在尝试检索我的网络摄像头支持的可用图片尺寸分辨率;使用OpenCV库.我已经尝试使用类似的 Android问题/答案,但无济于事. (例如 Android camera supported pic ...

  9. golang常用库之-mgo.v2包、MongoDB官方go-mongo-driver包、七牛Qmgo包 | go操作mongodb、mongodb bson

    文章目录 golang常用库之-mgo.v2包.MongoDB官方go-mongo-driver包.七牛Qmgo包 | go操作mongodb.mongodb bson 一.[不推荐]mgo.v2包 ...

  10. golang常用库:字段参数验证库-validator使用

    一.背景# 在平常开发中,特别是在web应用开发中,为了验证输入字段的合法性,都会做一些验证操作.比如对用户提交的表单字段进行验证,或者对请求的API接口字段进行验证,验证字段的合法性,保证输入字段值 ...

最新文章

  1. 2个422 并联一个总线_株洲新添2个全国“一村一品”示范村,一个在炎陵
  2. 最近24小时记录:虚拟机与Wireshark 2.0
  3. python录制视频和声音_【Python记 #2】有声录屏
  4. 枚举IHTMLDocument2中所有IFRAME的内容
  5. mongoose 批量修改字段_WordPress图片路径批量替换方法
  6. 商业计划书范文3000_商业计划书范文(精选)
  7. 赵小楼《天道》深度解析(75)客观是对现有事实的认可,嘴上认可可不行,得心里认,否则就是自欺
  8. Java发起GET请求的二三事
  9. 吊炸天核心Java面试问题,一问一答题,一问多答题(建议学习)
  10. 不同的「火」在舌頭上的表現也不一樣
  11. vConsole:H5控制台调试工具
  12. Java 实现钉钉企业内部应用免登
  13. 72. git jenkin实践二 ------ 中心服务器gitlab
  14. java 与jni转码,Android NDK开发之旅37--FFmpeg转码压缩
  15. markdown逻辑符号
  16. 在Macbook中安装破解版软件后出现“文件已损坏”的解决办法
  17. centos7开启bbr加速黑科技
  18. oracle++卸载grid,GRID卸载及重新安装
  19. www.1188.com劫持IE,baidu工具条不甘落后
  20. 高仿土豆视频iOS版

热门文章

  1. HDU 2815 扩展baby step giant step 算法
  2. cocos-2d iphone入门(二) cocos2d源代码生成查询文档
  3. python newbie——PE No.3
  4. SQL Server DTS
  5. 主函数中冒泡法 VS 自定义函数选择法
  6. 位置编码在注意机制中的作用
  7. fastText:极快的文本分类工具
  8. 厉害了!这款百度炼丹神器绝了!
  9. 【论文串讲】从BERT和XLNet到MPNet
  10. 三分钟教你如何PyTorch自定义反向传播