您现在的位置是:首页 > 文章详情

go-logger 2.0.2 发布

日期:2023-07-20点击:263

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业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章