高性能日志库 go-logger 2.0.5 发布
前言: go-logger 是一个轻量级的日志库,提供了灵活的日志记录功能与文件备份功能,方便在应用程序中灵活地操作日志。
go-logger特点
- 日志级别设置:允许动态调整日志级别,以便在不同环境下控制日志的详细程度。
- 格式化输出:支持自定义日志的输出格式,包括时间戳、日志级别、日志位置 等元素。
- 文件数回滚:支持按照日志文件数自动文件回滚,并防止文件数过多。
- 文件压缩:支持压缩归档日志文件。
- 支持标准库log/slog日志文件管理:支持标准库文件切割,压缩等功能。
go-logger v2.0.5更新内容
- 增加formatter参数
- 增加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个备份文件,压缩切割的备份文件

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
悟空刘歧 (Steven Liu) 成为 FFmpeg 社区委员会成员
FFmpeg 项目今日在邮件列表正式官宣新的Community Committee 成员:Steven Liu。据悉这是首位成为 FFmpeg 社区委员会成员的亚洲人。 FFmpeg 社区委员会 (Community Committee) 目前共 5 名成员,主要职责是规范开发者在邮件列表与 IRC 频道上的行为,维持工作环境,仲裁调解开发者之间的纠纷,是社区建设相关最终决策者。 viahttps://lists.ffmpeg.org/pipermail/ffmpeg-devel/2024-June/328921.html Steven Liu 是中国开发者刘歧——社区人称大师兄悟空。他是 FFmpeg 社区最活跃的贡献者之一,也是 FFmpeg 官方顾问,曾出版技术书籍《FFmpeg 从入门到精通》《深入理解FFmpeg》。 开源中国对悟空的专访:悟空刘歧:技术瑕疵不除不快,开源社区代码说话 作为 FFmpeg Maintainer,悟空参与了大量相关开发、维护的工作,包括将 DASH 支持的代码提交进 FFmpeg,将国标 AVS2 Codec 引入 FFmpeg,同时维护 HLS...
- 下一篇
Arm CEO:五年内拿下 Windows PC 市场超过 50% 的份额
近期开幕的台北国际电脑展(Computex)期间,全球最大的芯片设计架构公司 Arm 首席执行官雷内・哈斯(Rene Hass)亮相并发表演讲。 哈斯表示,该公司的目标是在五年内获得Windows PC市场超过50%的份额。此举正值微软及其硬件合作伙伴正准备推出基于Arm技术的新一批电脑。 微软上个月公布了一项雄心勃勃的计划,将推出具有AI功能的新一代PC,以与Alphabet和苹果竞争,这推动了在PC中使用Arm技术的需求。 之前,Arm的技术已经推动了智能手机的崛起。如今,微软的Windows操作系统也将运行在基于Arm技术的芯片上。几十年来,英特尔生产的芯片一直主导着PC行业。如果Arm能够取得成功,则将重塑PC市场格局。 哈斯在接受媒体采访时称:“我真的认为,在未来五年内,Arm在Windows PC中的市场份额可能会超过50%。” 微软已经做出了重大承诺,以确保Arm的技术作为AMD和英特尔x86技术的替代品,被消费者接受。而且,微软还开发了一套软件开发工具,以开发能在Arm芯片上运行的程序。 哈斯对此表示:“从软件的角度来看,他们(微软)已经非常、非常投入。”哈斯还称,高通...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2全家桶,快速入门学习开发网站教程
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- 2048小游戏-低调大师作品
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS关闭SELinux安全模块