这篇“Go语言Zap日志库如何使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Go语言Zap日志库如何使用”文章吧。日志性能不同日志级别可读性(包括日志采集、监控等)文件切割(不同维度分割)记录一条消息和 10 个字段:使用已经有 10 个上下文字段的记录器记录消息:记录一个静态字符串,没有任何上下文或 printf 样式的模板:通过上面benchmark测试可以Zap性能是非常出众的。主要是大多数日志库提供的方式是基于反射的序列化和字符串格式化,这种方式代价太高,而 Zap 采取不同的方法。避免 interface{} 使用强类型设计封装强类型,无反射使用零分配内存的 JSON 编码器,尽可能避免序列化开销go get -u go.uber.org/zapZap提供了两种免费云主机域名类型的日志记录器:Sugared Logger、Logger。在每一微秒和每一次内存分配都很重要的上下文中,使用Logger,内存分配次数也更少,但它只支持强类型的结构化日志记录。对性能不是要求极致,建议使用SugaredLogger,支持结构化和 printf 风格的日志记录。通过调用zap.NewProduction() | zap.NewDevelopment() | zap.Example()创建一个 Logger。上面的每一个函数都将创建一个 logger。唯一的区别在于它将记录的信息不同。例如 production logger 默认记录调用函数信息、日期和时间等。通过 Logger 调用 Info/Error 等。默认情况下日志都会打印到应用程序的 console 界面。上面代码执行结果:{“level”:”info”,”ts”:1655165315.1104648,”caller”:”test/main.go:13″,”msg”:”这是一条日志”,”name”:”zhangSang”,”age”:18}
{“level”:”error”,”ts”:1655165315.1105008,”caller”:”test/main.go:14″,”msg”:”这是 一条日志”,”name”:”zhangSang”,”error”:”错误信息”,”stacktrace”:”main.mainntD:/Go/Work/src/test/main.go:14nruntime.mainntD:/Go/src/runtime/proc.go:255″基本实现都一样,使用SugaredLogger支持Printf格式记录语句调用logger的sugar()方法来获取一个SugaredLogger上面代码执行结果:{“level”:”info”,”ts”:1655165815.3873067,”caller”:”test/main.go:14″,”msg”:”这是一条日志{name 15 0 zhangSang
{“level”:”error”,”ts”:1655165815.3880382,”caller”:”test/main.go:15″,”msg”:”这是一条日志{name 15 0 zhangSang zap.New()
方法来手动传递所有配置,而不是使用像zap.NewProduction()
这样的预置方法来创建 logger;zapcore.Core需要三个配置——Encoder,WriteSyncer,LogLevel。1.Encoder: 编码器 (配置日志格式)。此处使用NewJSONEncoder() (如果不喜欢JSON格式日志,NewConsoleEncoder()指定普通 Encoder),并使用预先设置的ProductionEncoderConfig(),ProductionEncoderConfig()返回一个自定义的EncoderConfig。2.WriterSyncer :指定日志写到何处。使用zapcore.AddSync()函数并且将打开的文件句柄传入。大家将上面的方法新增测试代码中,运行结果:运行结果:zap.New()中加上zap.AddCaller()。运行结果:go get -u github.com/natefinch/lumberjack在main()函数中循环9999次输出日志,运行结果:以上就是关于“Go语言Zap日志库如何使用”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注百云主机行业资讯频道。
相关推荐: ComposeDesktop开发桌面端多功能APK工具怎么使用
这篇文章主要讲解了“ComposeDesktop开发桌面端多功能APK工具怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ComposeDesktop开发桌面端多功能APK工具怎么使用”吧!接下来先给大家…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。