基本演示
1 | typescript复制代码var logger *zap.Logger |
定制Logger
1 | go复制代码 |
这里的ts 代表时间戳,但是这个时间戳可读性是在是太差,当然也可以修改这个配置的
1 | arduino复制代码// 返回一个json编码的格式 一般情况下都用这个 |
我们甚至可以在日志中打印 是哪个方法 调用了日志所在的方法
只要修改如下的方法即可:
1 | ini复制代码logger = zap.New(core,zap.AddCaller()) |
日志切割
如果一直向一个文件里面写入信息,文件会很快膨胀到xxx gb 这显然是无法忍受的,因此我们还需要日志切割归档功能
go get -u github.com/natefinch/lumberjack
1 | go复制代码func getLogWriterByJack() zapcore.WriteSyncer { |
写个测试函数测试一下
1 | css复制代码for i := 0; i < 10000000; i++ { |
在gin中 集成zap
这里类似的文章有很多 甚至也有人直接做好了类似的功能 github.com/gin-contrib…
有兴趣的可以体验下,很简单,就不再过多介绍了,有需要的话 大家记得取一下即可。
整体上来说 并不难,也就是实现对应的logger和recovery 而已,大家可以自行下载源码以后
稍微改动一下 然后来适配成自己的项目
本文转载自: 掘金