go-logger 2.0.2 发布

golang 的高性能日志库

go的高性能日志工具,支持日志格式化,日志按时间备份,或按大小备份,支持保留日志份数,日志文件压缩等特性.

  • github.com/donnie4w/go-logger
  • go-logger具备极高的性能和极低的内存消耗
  • 性能测试中,在常规操作下,使用格式化输出,相同长度的打印数据。 与 uber的zap日志库,和 go自带的log日志库 相比较, go-logger 在性能上和内存消耗上都占据一定优势
  • 同时也支持将需要分配内存的的功能完全去掉(使用:FORMAT_NANO),效率与内存消耗等同于直接写文件;也提供直接写文件的方法(write). 需要极限效率时,可以使用这两种方式写日志。这两种方式同样支持日志按时间,文件大小备份,支持保留日志份数,日志文件压缩

具体情况参考测试数据,与测试程序

性能测试:

测试说明:以下simplelog即go-logger

测试日志库 描述
zap "go.uber.org/zap" 高性能日志库常规格式化输出
simplelog simplelog 常规格式化输出
simplelog NoFORMAT simplelog 无格式化输出
simplelog write simplelog write方法写数据
go/ log go自带log库格式化输出

测试数据1

    ns/op B/op allocs/op
zap 1822892 6876 336 6
zap 1730490 7037 336 6
simplelog 1732777 6461 296 3
simplelog 1758446 6419 296 3
simplelog NoFORMAT 2670556 4340 112 1
simplelog NoFORMAT 2694154 4192 112 1
simplelog write 2949058 4087 112 1
simplelog write 2843649 4093 112 1
go/ log 2162052 5551 296 3
go/ log 2139168 5715 296 3

Parallel 测试2

    ns/op B/op allocs/op
zap 1000000 10572 336 6
zap 1000000 10414 337 6
simplelog 1330300 8803 296 3
simplelog 1363034 8945 296 3
simplelog NoFORMAT 2053911 7076 112 1
simplelog NoFORMAT 1677360 6888 112 1
simplelog write 1939933 6304 112 1
simplelog write 1922352 6938 112 1
go/ log 1204039 9612 296 3
go/ log 1362807 8875 296 3

Parallel 测试3

    ns/op B/op allocs/op
zap 1000000 10331 336 6
zap 1000000 10595 337 6
simplelog 1352834 8838 296 3
simplelog 1411458 8754 296 3
simplelog NoFORMAT 2266597 5331 112 1
simplelog NoFORMAT 2090455 5631 112 1
simplelog write 2062870 5746 112 1
simplelog write 2037792 5963 112 1
go/ log 1260445 9398 280 3
go/ log 1272560 9123 280 3

Parallel 测试4

    ns/op B/op allocs/op
zap 1000000 10230 336 6
zap 1000000 10276 337 6
simplelog 1332555 8774 296 3
simplelog 1391256 9226 296 3
simplelog NoFORMAT 2154008 5483 112 1
simplelog NoFORMAT 2115795 5853 112 1
simplelog write 2059722 6069 112 1
simplelog write 1968092 6116 112 1
go/ log 1249767 9930 280 3
go/ log 1211719 9822 280 3

打印各库输出结果(其中一行)

2023-07-10T19:58:15.138+0800    DEBUG   logtest/benchmark_test.go:82    >>>aaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[DEBUG]2023/07/10 19:58:57 benchmark_test.go:94: >>>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[DEBUG]2023/06/10 01:25:55.028277 log_test.go:46:>>>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[DEBUG]2023/06/10 01:25:55.028277 log_test.go:55:>>>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[debug]2023/07/10 20:00:53.634554 benchmark_test.go:125: >>>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

测试程序

github logtest

优秀的个人博客,低调大师

微信关注我们

原文链接:https://www.oschina.net/news/250245/go-logger-2-0-2

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。