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 (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"strings"
|
||||||
|
|
||||||
"go.uber.org/zap"
|
"go.uber.org/zap"
|
||||||
)
|
)
|
||||||
@ -17,32 +18,45 @@ func NewLogger(l *zap.Logger) *logger {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (t *logger) Debug(msg string, keyvals ...interface{}) {
|
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{}) {
|
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{}) {
|
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{}) {
|
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
|
var fields []zap.Field
|
||||||
for i := 0; i < len(keyvals); i++ {
|
for i := 0; i < len(keyvals); i++ {
|
||||||
if value, ok := keyvals[i].(zap.Field); ok {
|
if value, ok := keyvals[i].(zap.Field); ok {
|
||||||
fields = append(fields, value)
|
fields = append(fields, value)
|
||||||
} else if value, ok := keyvals[i].(string); ok && len(keyvals) > i+2 {
|
} 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++
|
i++
|
||||||
} else if len(keyvals) > i+2 {
|
} else if len(keyvals) > i+1 {
|
||||||
fields = append(fields, zap.Any(fmt.Sprintf("%v", keyvals[i]), keyvals[i+1]))
|
fields = append(fields, zap.Any(strings.ToLower(fmt.Sprintf("%v", keyvals[i])), keyvals[i+1]))
|
||||||
i++
|
i++
|
||||||
|
} else {
|
||||||
|
fields = append(fields, zap.Any("undefined", keyvals[i]))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return fields
|
return fields
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user