zoukankan      html  css  js  c++  java
  • [GO] gin 框架gorm下使用logrus记录sql语句

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

    先把logrus的一些配置做好

    package tools
    
    import (
        "fmt"
        "github.com/gin-gonic/gin"
        "github.com/sirupsen/logrus"
        "os"
        "path"
        "time"
    )
    
    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 {
            if _, err := os.Create(fileName); err != 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:05",
        })
        return logger
    }

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

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

    文件中记录的sql

  • 相关阅读:
    CF763C Timofey and Remoduling
    CF762E Radio Stations
    CF762D Maximum Path
    CF763B Timofey and Rectangles
    URAL1696 Salary for Robots
    uva10884 Persephone
    LA4273 Post Offices
    SCU3037 Painting the Balls
    poj3375 Network Connection
    Golang zip压缩文件读写操作
  • 原文地址:https://www.cnblogs.com/taoshihan/p/13846256.html
Copyright © 2011-2022 走看看