今天给大家推荐是由cihub开源的seelog框架,seelog 是一个功能强大且易于学习的日志框架,提供灵活调度、过滤和格式化日志消息的功能。
推荐理由
对比Golang里面的其他日志框架例如logrus,zap等,在日志格式化提供傻瓜式的模版,笔者认为seeLog 在易用,方便,可扩展性等方面是最满意的,把日志输出的自由度交给使用者。
特性
配置能够在不重新编译的情况下更改记录器参数
在不重新启动应用的情况下即时更改配置
可以为不同的项目文件和功能设置不同的日志配置
可调整消息的格式
同时将日志输出到多个流
选择记录器优先级策略以将性能损失最小化
日志消息封装器 (JSON, XML, etc.)
重点
seeLog功能强大,提供了最大程度的定制性,既有原生日志的简单Api,又具备类似java 平台log4j ,logback的高度灵活配置,支持rolling特性,笔者当初选择seeLog的理由很大程度上是Uber的日志zap框架无法支持rolling 特性。
后记
对于任何一个系统,日志都是必不可缺的一部分,日志输出方便,能给开发带来极大的效率,对于如何使用seeLog不想赘述,框架上手也比较容易,尽管seeLog在git上的star并不多,项目近三年都没有更新,但这恰恰符合基础日志框架的特性:没有很多的特性,但是实用又好用。
GitHub https://github.com/cihub/seelog
希望大家能从cihub/seelog学到有价值的东西。
愿我们在Go 语言的学习之路上 从此结伴而行