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

高性能日志库 go-logger 2.0.5 发布

日期:2024-06-05点击:147
前言: go-logger  是一个轻量级的日志库,提供了灵活的日志记录功能与文件备份功能,方便在应用程序中灵活地操作日志。

go-logger特点

  • 日志级别设置:允许动态调整日志级别,以便在不同环境下控制日志的详细程度。
  • 格式化输出:支持自定义日志的输出格式,包括时间戳、日志级别、日志位置 等元素。
  • 文件数回滚:支持按照日志文件数自动文件回滚,并防止文件数过多。
  • 文件压缩:支持压缩归档日志文件。
  • 支持标准库log/slog日志文件管理:支持标准库文件切割,压缩等功能。

go-logger的使用文档

go-logger源码


go-logger v2.0.5更新内容

  1. 增加formatter参数
  2. 增加Option参数

说明:

  • 通过formatter设置,可以自由修改输出的日志格式,添加自定义的日志标识
  • 如,默认日志输出:  [Debug]2024/06/05 11:07:22 logging_test.go:24 this is default logging
  • 通过修改formatter,相同的日志内容可以修改为类似如下的形式输出
    • this is default logging   2024/06/05 11:07:22 logging_test.go:24[Debug]    
    • this is default logging   [Debug] 2024/06/05 11:07:22 logging_test.go:24
    • [Debug]2024/06/05 11:07:22 logging_test.go:24 >>>>>>> this is default logging
  • 通过设置Option参数,可以设置logger的所有参数,同时建议通过Option统一设置logger的系列参数,通过该方式设置更加易于维护。
  • Option对象包含了日志级别,控制台日志,日志格式,输出格式formatter, 日志文件对象等参数。

formatter使用说明

设置日志标识输出格式 SetFormatter

SetFormatter("{level} {time} {file}:{message}\n")

默认格式:"{level} {time} {file}:{message}\n"

 {level} 日志级别信息:如 [Debug],[Info],[Warn],[Error],[Fatal] {time} 日志时间信息 {file} 文件位置行号信息 {message} 日志内容 说明:除了关键标识 {message} {time} {file} {level} 外,其他内容原样输出,如 | , 空格,换行 等

示例1:

 SetFormatter("{message} | {level} {time} {file}\n") Debug("11111111111111")

执行结果:

 11111111111111|[Debug] 2024/06/05 11:07:22 logging_test.go:24

示例2

 SetFormatter("{level}{time} {file} >>>> {message}\n") Debug("2222222222222")

执行结果:

 [Debug]2024/06/05 11:08:12 logging_test.go:24 >>>> 2222222222222

Option使用说明

建议通过option参数设置log的所有参数,更加易于维护

 Level :日志级别 Console :控制台打印 Format :日志格式,默认:FORMAT_LEVELFLAG | FORMAT_SHORTFILENAME | FORMAT_DATE | FORMAT_TIME Formatter :日志输出 默认:"{level} {time} {file}:{mesaage}\n" FileOption :日志文件接口参数

FileOption介绍

FileOption为接口,有FileSizeMode与FileTimeMode两个实现对象

  • FileTimeMode对象
 Filename 日志文件路径 Timemode 按小时,天,月份:MODE_HOUR,MODE_DAY,MODE_MONTH Maxbuckup 最多备份日志文件数 IsCompress 备份文件是否压缩
  • FileSizeMode对象
 Filename 日志文件路径 Maxsize 日志文件大小的最大值,超过则滚动备份 Maxbuckup 最多备份日志文件数 IsCompress 备份文件是否压缩

SetOption示例1

 SetOption(&Option{Level: LEVEL_DEBUG, Console: false, FileOption: &FileTimeMode{Filename: "/usr/log/testlogtime.log", Maxbuckup: 10, IsCompress: true, Timemode: MODE_DAY}})

说明:以上option对象设置日志级别:LEVEL_DEBUG,控制台日志关闭,设置写日志文件,并按天(MODE_DAY)备份日志文件,保持最多10个备份文件,压缩切割的备份文件

SetOption示例2

 SetOption(&Option{Level: LEVEL_DEBUG, Console: false, FileOption: &FileSizeMode{Filename: "testlog.log", Maxsize: 1<<30, Maxbuckup: 10, IsCompress: true}})

说明:以上option对象设置日志级别:LEVEL_DEBUG,控制台日志关闭,设置写日志文件,并按大小为 1G 切割日志文件,保持最多10个备份文件,压缩切割的备份文件

原文链接:https://www.oschina.net/news/295876/go-logger-2-0-5-released
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

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

文章评论

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

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章