mirror of
https://github.com/foomo/keel.git
synced 2025-10-16 12:35:34 +00:00
feat: implement with interface and fix fields
This commit is contained in:
parent
75b4653647
commit
a63b858b67
@ -2,6 +2,7 @@ package keeltemporal
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
@ -17,32 +18,45 @@ func NewLogger(l *zap.Logger) *logger {
|
||||
}
|
||||
|
||||
func (t *logger) Debug(msg string, keyvals ...interface{}) {
|
||||
t.l.Debug(msg, t.toFields(keyvals...)...)
|
||||
t.l.Debug(msg, t.fields(keyvals...)...)
|
||||
}
|
||||
|
||||
func (t *logger) Info(msg string, keyvals ...interface{}) {
|
||||
t.l.Info(msg, t.toFields(keyvals...)...)
|
||||
// TODO check with temporal why errors are being logged as info!
|
||||
for _, keyval := range keyvals {
|
||||
if keyval == "Error" {
|
||||
t.l.Error(msg, t.fields(keyvals...)...)
|
||||
return
|
||||
}
|
||||
}
|
||||
t.l.Info(msg, t.fields(keyvals...)...)
|
||||
}
|
||||
|
||||
func (t *logger) Warn(msg string, keyvals ...interface{}) {
|
||||
t.l.Warn(msg, t.toFields(keyvals...)...)
|
||||
t.l.Warn(msg, t.fields(keyvals...)...)
|
||||
}
|
||||
|
||||
func (t *logger) Error(msg string, keyvals ...interface{}) {
|
||||
t.l.Error(msg, t.toFields(keyvals...)...)
|
||||
t.l.Error(msg, t.fields(keyvals...)...)
|
||||
}
|
||||
|
||||
func (t *logger) toFields(keyvals ...interface{}) []zap.Field {
|
||||
func (t *logger) With(keyvals ...interface{}) *logger {
|
||||
return NewLogger(t.l.With(t.fields(keyvals...)...))
|
||||
}
|
||||
|
||||
func (t *logger) fields(keyvals ...interface{}) []zap.Field {
|
||||
var fields []zap.Field
|
||||
for i := 0; i < len(keyvals); i++ {
|
||||
if value, ok := keyvals[i].(zap.Field); ok {
|
||||
fields = append(fields, value)
|
||||
} else if value, ok := keyvals[i].(string); ok && len(keyvals) > i+2 {
|
||||
fields = append(fields, zap.Any(value, keyvals[i+1]))
|
||||
fields = append(fields, zap.Any(strings.ToLower(value), keyvals[i+1]))
|
||||
i++
|
||||
} else if len(keyvals) > i+2 {
|
||||
fields = append(fields, zap.Any(fmt.Sprintf("%v", keyvals[i]), keyvals[i+1]))
|
||||
} else if len(keyvals) > i+1 {
|
||||
fields = append(fields, zap.Any(strings.ToLower(fmt.Sprintf("%v", keyvals[i])), keyvals[i+1]))
|
||||
i++
|
||||
} else {
|
||||
fields = append(fields, zap.Any("undefined", keyvals[i]))
|
||||
}
|
||||
}
|
||||
return fields
|
||||
|
||||
Loading…
Reference in New Issue
Block a user