概述
在Web应用中,日志是非常重要的一部分数据,通过日志我们可以把控每天的请求情况和应用运行情况,还能够大大方便我们定位和追踪问题,所以非常有必要在开发时为Gin框架加入日志组件
设计
logrus是Go语言一款非常流行的日志库,其中封装了非常多方便易用的方法,所以我们也基于这个库来进行实现。
需要实现的功能有:
- 作为Gin的中间件记录每一次请求的信息,包括请求时间,运行时间,请求的Uri等
- 封装一个记录日志的方法,可在其他模块中调用,用于记录业务相关的日志
实现
直接上代码
第一步:封装logger组件
package logger
import (
"fmt"
"github.com/gin-gonic/gin"
"github.com/sirupsen/logrus"
"os"
"time"
)
var AppLog *logrus.Logger
var WebLog *logrus.Logger
func Setup() {
initAppLog()
initWebLog()
}
/**
初始化AppLog
*/
func initAppLog() {
logFileName := "app.log"
AppLog = initLog(logFileName)
}
/**
初始化WebLog
*/
func initWebLog() {
logFileName := "web.log"
WebLog = initLog(logFileName)
}
/**
初始化日志句柄
*/
func ini