Files
gormx/logger.go
T
2025-07-06 02:52:46 +08:00

46 lines
997 B
Go

package gormx
import (
"context"
"time"
"gorm.io/gorm/logger"
"github.com/yuninks/loggerx"
)
// TODO:待进一步封装
type GormxLogger struct {
*loggerx.Logger
}
func NewGormxLogger(ctx context.Context) *GormxLogger {
return &GormxLogger{
Logger: loggerx.NewLogger(ctx),
}
}
func (g *GormxLogger) LogMode(LogLevel logger.LogLevel) logger.Interface {
return g
}
func (g *GormxLogger) Info(ctx context.Context, msg string, val ...interface{}) {
g.Logger.Info(ctx, val)
}
func (g *GormxLogger) Warn(ctx context.Context, msg string, val ...interface{}) {
g.Logger.Info(ctx, val)
}
func (g *GormxLogger) Error(ctx context.Context, msg string, val ...interface{}) {
g.Logger.Error(ctx, val)
}
func (g *GormxLogger) Trace(ctx context.Context, begin time.Time, fc func() (sql string, rowsAffected int64), err error) {
sql, rows := fc()
g.Logger.Infof(ctx, "trace: begin:%+v, err:%+v, sql:%+v, rows:%+v", begin, err, sql, rows)
}