50 lines
1.1 KiB
Go
50 lines
1.1 KiB
Go
package gormx
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
"time"
|
|
|
|
"gorm.io/gorm/logger"
|
|
|
|
"github.com/zeromicro/go-zero/core/logx"
|
|
)
|
|
|
|
// TODO:待进一步封装
|
|
|
|
type GormxLogger struct {
|
|
logx.Logger
|
|
}
|
|
|
|
func NewGormxLogger(ctx context.Context) *GormxLogger {
|
|
return &GormxLogger{
|
|
Logger: logx.WithContext(ctx),
|
|
}
|
|
}
|
|
|
|
func (g *GormxLogger) LogMode(LogLevel logger.LogLevel) logger.Interface {
|
|
return g
|
|
}
|
|
|
|
func (g *GormxLogger) Info(ctx context.Context, msg string, val ...interface{}) {
|
|
fmt.Println("info", msg, val)
|
|
g.Logger.Info(msg, val)
|
|
}
|
|
|
|
func (g *GormxLogger) Warn(ctx context.Context, msg string, val ...interface{}) {
|
|
fmt.Println("warn", msg, val)
|
|
g.Logger.Info(msg, val)
|
|
}
|
|
|
|
func (g *GormxLogger) Error(ctx context.Context, msg string, val ...interface{}) {
|
|
fmt.Println("error", msg, val)
|
|
g.Logger.Error(msg, val)
|
|
}
|
|
|
|
func (g *GormxLogger) Trace(ctx context.Context, begin time.Time, fc func() (sql string, rowsAffected int64), err error) {
|
|
|
|
sql, rows := fc()
|
|
fmt.Printf("trace: begin:%+v, err:%+v, sql:%+v, rows:%+v\n", begin, err, sql, rows)
|
|
|
|
}
|