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) }