12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- package rest
- import (
- "context"
- "git.nspix.com/golang/micro/log"
- "gorm.io/gorm/logger"
- "gorm.io/gorm/utils"
- "time"
- )
- type Logger struct {
- LogLevel logger.LogLevel
- }
- func (lg *Logger) LogMode(level logger.LogLevel) logger.Interface {
- lg.LogLevel = level
- return lg
- }
- func (lg *Logger) Info(ctx context.Context, s string, i ...interface{}) {
- log.Infof(s, i...)
- }
- func (lg *Logger) Warn(ctx context.Context, s string, i ...interface{}) {
- log.Warnf(s, i...)
- }
- func (lg *Logger) Error(ctx context.Context, s string, i ...interface{}) {
- log.Errorf(s, i...)
- }
- func (lg *Logger) Trace(ctx context.Context, begin time.Time, fc func() (string, int64), err error) {
- switch {
- case err != nil && lg.LogLevel >= logger.Error:
- sql, rows := fc()
- if rows == -1 {
- log.Errorf("SQL: execute %s error:%s in file %s", sql, err.Error(), utils.FileWithLineNum())
- } else {
- log.Errorf("SQL: execute %s error:%s in file %s", sql, err.Error(), utils.FileWithLineNum())
- }
- case lg.LogLevel == logger.Info:
- sql, rows := fc()
- if rows == -1 {
- log.Debugf("SQL: %s", sql)
- } else {
- log.Debugf("SQL: %s affect rows %d", sql, rows)
- }
- }
- }
|