目录

  • 前言
  • 正文
    • 写日志文件
    • 自定义日志输出格式
  • 结尾

前言

Gin 是使用纯 Golang 语言实现的 HTTP Web 框架,Gin 的接口设计简洁,性能极高,现在被广泛使用。上一篇文章介绍了 Gin 中间件的相关内容,今天我们详细看一看 Gin 在日志管理模块方面的内容。

正文

写日志文件

在服务端有持续化存储的日志非常有必要,因为我们需要对历史问题进行排查,日志是我们必备的辅助工具。利用 Gin 框架,我们可以非常简单的完成日志收集工作,下面是示例代码:

上面的代码显示,我们创建了名为 gin.log 的日志文件,同时将 Gin 自身日志模块的输出内容和日志文件进行绑定,实现记录历史日志的功能。

自定义日志输出格式

上面我们实现了把日志保存到文件中的功能,那么我们可以定义其中的日志输出格式吗?答案是肯定,而且我们还可以非常灵活的实现日志输出格式的定义。

如上述代码所示,我们定义了日志格式包含了 param.ClientIP(客户端IP), param.TimeStamp.Format(time.RFC1123)(时间戳), param.Method(接口请求类型), param.Path(API路由), param.Request.Proto(协议), param.StatusCode(结果状态码,正常是 200), param.Latency(延时), param.Request.UserAgent()(客户端类型), param.ErrorMessage(错误信息)。

我们分别使用 curl 和 chrome 去接请求上述 /ping 接口进行效果测试,下面是服务器端的日志结果:

演示效果截图:

image.png

通过上述结果可以看到,我们自定义的日志输出格式已经生效了,OK,大功告成!

结尾

好了,今天关于 Gin 框架的日志管理的内容就介绍这么多,感兴趣的话,就自己动手 DIY 一下吧!



作者简介:大家好,我是 Data-Mining(liuzhen007),是一位典型的音视频技术爱好者,同时也是CSDN博客专家、华为云享专家(共创编辑)、InfoQ 签约作者,欢迎关注我分享更多干货!