加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

[GO] gin 框架gorm下使用logrus记录sql语句

发布时间:2021-05-21 06:49:14 所属栏目:大数据 来源: https://www.jb51.cc
导读:使用gin gorm时,默认sql语句是打印在终端的,想要记录到文件中,可以使用logrus来记录到文件 先把logrus的一些配置做好 package toolsimport ( " fmt " github.com/gin-gonic/gin github.com/sirupsen/logrus os path time " )func Logger() * logrus.Logger {

使用gin gorm时,默认sql语句是打印在终端的,想要记录到文件中,可以使用logrus来记录到文件

先把logrus的一些配置做好

package tools

import (
    "fmt"
    github.com/gin-gonic/gingithub.com/sirupsen/logrusospathtime"
)

func Logger() *logrus.Logger {
    now := time.Now()
    logFilePath := ""
    if dir,err := os.Getwd(); err == nil {
        logFilePath = dir + /logs/
    }
    if err := os.MkdirAll(logFilePath,0777); err != nil {
        fmt.Println(err.Error())
    }
    logFileName := now.Format(2006-01-02") + .log"
    //日志文件
    fileName := path.Join(logFilePath,logFileName)
    if _,err := os.Stat(fileName); err != nil {
         nil {
            fmt.Println(err.Error())
        }
    }
    写入文件
    src,err := os.OpenFile(fileName,os.O_APPEND|os.O_WRONLY,os.ModeAppend)
    if err != nil {
        fmt.Println(err,err)
    }

    实例化
    logger := logrus.New()

    设置输出
    logger.Out = src

    设置日志级别
    logger.SetLevel(logrus.DebugLevel)

    设置日志格式
    logger.SetFormatter(&logrus.TextFormatter{
        TimestampFormat: 2006-01-02 15:04:05return logger
}

在初始化gorm的地方设置logger,把上面的logger设置进去就可以了

    DB,err = gorm.Open(MysqL nil {
        panic(数据库连接失败!)
    }
    DB.SingularTable(true)
    DB.LogMode()
    DB.SetLogger(tools.Logger())
    DB.DB().SetMaxIdleConns(10)
    DB.DB().SetMaxOpenConns(100)

文件中记录的sql

?

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读