Skip to content

Gedoy9793/gorm-logrus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gorm-logrus

A wrapper between logrus Logger and gorm Logger.

logrus日志到gorm日志的兼容层。

Example 示例

package main

import (
    "github.com/gedoy9793/gorm-logrus"
    "github.com/sirupsen/logrus"
    "gorm.io/gorm"
	"gorm.io/driver/mysql"
)

func main() {
    logrusLogger := logrus.New()
    
    // you can config this logger
    
    db, _ := gorm.Open(mysql.Open("data.db"), &gorm.Config{
        Logger: gorm_logrus.NewLogger(logrusLogger),
    })
}

You can also use logrus.Entry to create a wrapper:

也可以使用logrus.Entry创建一个兼容层:

package main

import (
    "github.com/gedoy9793/gorm-logrus"
    "github.com/sirupsen/logrus"
    "gorm.io/gorm"
	"gorm.io/driver/mysql"
)

func main() {
    logrusEntry := logrus.New().WithField("key", "value")
    
    // you can config this entry
    
    db, _ := gorm.Open(mysql.Open("data.db"), &gorm.Config{
        Logger: gorm_logrus.NewEntry(logrusEntry),
    })
}

Note: Gorm uses the LogMode function to set the logging level. In this wrapper, it's implemented as Entry.Logger.SetLevel. So I don't recommend using this Logger in more than one place, instead you should create a separate Logger for gorm.

注意: Gorm使用LogMode函数设置日志等级。在兼容层中,这个函数被实现为Entry.Logger.SetLevel。所以我不建议在多个地方使用这个Logger,而应该为gorm创建单独的Logger。

About

logrus日志到gorm日志的兼容层

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages