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

  • 相关阅读:
    MongoDB数据查询详解
    MongoDB增加数据
    laravel安装初体验
    操作MongoDB
    MongoDB基本概念和安装配置
    tp5操作mongo
    c语言运算符优先级与while循环案例
    tp5下通过composer实现日志记录功能
    c语言中类型转换与赋值运算符、算术运算符、关系运算符、逻辑运算符。原码、反码、补码。小解。
    scanf使用与运算符
  • 原文地址:https://www.cnblogs.com/taoshihan/p/13846256.html
Copyright © 2011-2022 走看看