| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- package common_db
- import (
- "fmt"
- "time"
- "git.shuncheng.lu/bigthing/gocommon/pkg/internal/util"
- "git.shuncheng.lu/bigthing/gocommon/pkg/trace"
- "xorm.io/xorm/log"
- )
- /**
- copy ContextLogger
- */
- type DbLog struct {
- logger log.ContextLogger
- }
- func NewDbLog(logger *log.SimpleLogger) *DbLog {
- if logger == nil {
- return nil
- }
- return &DbLog{logger: log.NewLoggerAdapter(logger)}
- }
- // Debugf implements ContextLogger
- func (l *DbLog) Debugf(format string, v ...interface{}) {
- l.logger.Debugf(format, v...)
- }
- // Errorf implements ContextLogger
- func (l *DbLog) Errorf(format string, v ...interface{}) {
- l.logger.Errorf(format, v...)
- }
- // Infof implements ContextLogger
- func (l *DbLog) Infof(format string, v ...interface{}) {
- l.logger.Infof(format, v...)
- }
- // Warnf implements ContextLogger
- func (l *DbLog) Warnf(format string, v ...interface{}) {
- l.logger.Warnf(format, v...)
- }
- // Level implements ContextLogger
- func (l *DbLog) Level() log.LogLevel {
- return l.logger.Level()
- }
- // SetLevel implements ContextLogger
- func (l *DbLog) SetLevel(lv log.LogLevel) {
- l.logger.SetLevel(lv)
- }
- // ShowSQL implements ContextLogger
- func (l *DbLog) ShowSQL(show ...bool) {
- l.logger.ShowSQL(show...)
- }
- // IsShowSQL implements ContextLogger
- func (l *DbLog) IsShowSQL() bool {
- return l.logger.IsShowSQL()
- }
- // BeforeSQL implements ContextLogger
- func (m *DbLog) BeforeSQL(ctx log.LogContext) {
- m.logger.BeforeSQL(ctx)
- }
- // AfterSQL implements ContextLogger
- func (m *DbLog) AfterSQL(ctx log.LogContext) {
- m.logger.AfterSQL(ctx)
- if ctx.Err != nil {
- m.Errorf("Err: %v, SQL: %v, Args: %v, Time: %v", ctx.Err, ctx.SQL, ctx.Args, util.TimeToSeconds(ctx.ExecuteTime.Seconds()))
- }
- span := trace.GetMySqlExitSpan(ctx.Ctx)
- if span == nil {
- return
- }
- defer span.End()
- span.Log(time.Now(), "SQL", ctx.SQL, "Args", fmt.Sprintf("%+v", ctx.Args), "Time", util.TimeToSeconds(ctx.ExecuteTime.Seconds()))
- if ctx.Err != nil {
- span.Log(time.Now(), "ERROR", fmt.Sprintf("%v", ctx.Err))
- }
- }
|