mirror of
https://github.com/xxjwxc/public.git
synced 2025-09-26 20:01:19 +08:00
1
This commit is contained in:
@@ -20,13 +20,14 @@ func (lg DbLog) Write(p []byte) (n int, err error) {
|
||||
}
|
||||
|
||||
// GetDBlog 获取默认logger
|
||||
func GetDBlog() logger.Interface {
|
||||
func GetDBlog(ignoreRecordNotFoundError bool) logger.Interface {
|
||||
newLogger := logger.New(
|
||||
log.New(DbLog{}, "\r\n", log.LstdFlags), // io writer
|
||||
logger.Config{
|
||||
SlowThreshold: time.Second, // 慢 SQL 阈值
|
||||
LogLevel: logger.Error, // Log level
|
||||
Colorful: false, // 禁用彩色打印
|
||||
SlowThreshold: time.Second, // 慢 SQL 阈值
|
||||
LogLevel: logger.Error, // Log level
|
||||
IgnoreRecordNotFoundError: ignoreRecordNotFoundError, // 忽略ErrRecordNotFound(记录未找到)错误
|
||||
Colorful: false, // 禁用彩色打印
|
||||
},
|
||||
)
|
||||
return newLogger
|
||||
|
@@ -2,6 +2,9 @@ package mysqldb
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"log"
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"github.com/xxjwxc/public/dev"
|
||||
myerrors "github.com/xxjwxc/public/errors"
|
||||
@@ -20,19 +23,25 @@ type MySqlDB struct {
|
||||
}
|
||||
|
||||
// OnInitDBOrm init MySqlDB
|
||||
func OnInitDBOrm(dataSourceName string) (orm *MySqlDB) {
|
||||
func OnInitDBOrm(dataSourceName string, ignoreRecordNotFoundError bool) (orm *MySqlDB) {
|
||||
orm = new(MySqlDB)
|
||||
orm.OnGetDBOrm(dataSourceName)
|
||||
orm.OnGetDBOrm(dataSourceName, ignoreRecordNotFoundError)
|
||||
return
|
||||
}
|
||||
|
||||
// OnGetDBOrm get gorm.db
|
||||
func (i *MySqlDB) OnGetDBOrm(dataSourceName string) *gorm.DB {
|
||||
func (i *MySqlDB) OnGetDBOrm(dataSourceName string, ignoreRecordNotFoundError bool) *gorm.DB {
|
||||
if i.DB == nil {
|
||||
Default := logger.New(log.New(os.Stdout, "\r\n", log.LstdFlags), logger.Config{
|
||||
SlowThreshold: 200 * time.Millisecond,
|
||||
LogLevel: logger.Warn,
|
||||
IgnoreRecordNotFoundError: ignoreRecordNotFoundError,
|
||||
Colorful: true,
|
||||
})
|
||||
var err error
|
||||
i.DB, err = gorm.Open(mysql.Open(dataSourceName), &gorm.Config{PrepareStmt: false,
|
||||
NamingStrategy: schema.NamingStrategy{SingularTable: true}, // 全局禁用表名复数
|
||||
Logger: logger.Default})
|
||||
Logger: Default}) // logger.Default
|
||||
if err != nil {
|
||||
mylog.Error(myerrors.Wrap(err, "Got error when connect database:"+dataSourceName))
|
||||
return nil
|
||||
@@ -43,7 +52,7 @@ func (i *MySqlDB) OnGetDBOrm(dataSourceName string) *gorm.DB {
|
||||
if dev.IsDev() {
|
||||
i.DB = i.DB.Debug()
|
||||
} else {
|
||||
i.DB.Logger = GetDBlog()
|
||||
i.DB.Logger = GetDBlog(ignoreRecordNotFoundError)
|
||||
}
|
||||
|
||||
return i.DB
|
||||
|
Reference in New Issue
Block a user