Add debug loglevel

Signed-off-by: roby <roby-be@gate.me>
This commit is contained in:
roby 2024-03-30 10:37:05 +08:00
parent 1b48aa072d
commit 23cf52db32
2 changed files with 14 additions and 2 deletions

View File

@ -321,7 +321,7 @@ func (db *DB) WithContext(ctx context.Context) *DB {
func (db *DB) Debug() (tx *DB) { func (db *DB) Debug() (tx *DB) {
tx = db.getInstance() tx = db.getInstance()
return tx.Session(&Session{ return tx.Session(&Session{
Logger: db.Logger.LogMode(logger.Info), Logger: db.Logger.LogMode(logger.Debug),
}) })
} }

View File

@ -43,6 +43,8 @@ const (
Warn Warn
// Info info log level // Info info log level
Info Info
// Debug debug log level
Debug
) )
// Writer log writer interface // Writer log writer interface
@ -62,6 +64,7 @@ type Config struct {
// Interface logger interface // Interface logger interface
type Interface interface { type Interface interface {
LogMode(LogLevel) Interface LogMode(LogLevel) Interface
Debug(context.Context, string, ...interface{})
Info(context.Context, string, ...interface{}) Info(context.Context, string, ...interface{})
Warn(context.Context, string, ...interface{}) Warn(context.Context, string, ...interface{})
Error(context.Context, string, ...interface{}) Error(context.Context, string, ...interface{})
@ -85,6 +88,7 @@ var (
// New initialize logger // New initialize logger
func New(writer Writer, config Config) Interface { func New(writer Writer, config Config) Interface {
var ( var (
debugStr = "%s\n[debug] "
infoStr = "%s\n[info] " infoStr = "%s\n[info] "
warnStr = "%s\n[warn] " warnStr = "%s\n[warn] "
errStr = "%s\n[error] " errStr = "%s\n[error] "
@ -105,6 +109,7 @@ func New(writer Writer, config Config) Interface {
return &logger{ return &logger{
Writer: writer, Writer: writer,
Config: config, Config: config,
debugStr: debugStr,
infoStr: infoStr, infoStr: infoStr,
warnStr: warnStr, warnStr: warnStr,
errStr: errStr, errStr: errStr,
@ -117,7 +122,7 @@ func New(writer Writer, config Config) Interface {
type logger struct { type logger struct {
Writer Writer
Config Config
infoStr, warnStr, errStr string debugStr, infoStr, warnStr, errStr string
traceStr, traceErrStr, traceWarnStr string traceStr, traceErrStr, traceWarnStr string
} }
@ -128,6 +133,13 @@ func (l *logger) LogMode(level LogLevel) Interface {
return &newlogger return &newlogger
} }
// Debug print debug messages
func (l *logger) Debug(ctx context.Context, msg string, data ...interface{}) {
if l.LogLevel >= Debug {
l.Printf(l.debugStr+msg, append([]interface{}{utils.FileWithLineNum()}, data...)...)
}
}
// Info print info // Info print info
func (l *logger) Info(ctx context.Context, msg string, data ...interface{}) { func (l *logger) Info(ctx context.Context, msg string, data ...interface{}) {
if l.LogLevel >= Info { if l.LogLevel >= Info {