in grpc/common/autologger/autologger.go [15:45]
func InterceptorLogger(logger *log.Logger) logging.Logger {
return logging.LoggerFunc(func(ctx context.Context, lvl logging.Level, msg string, fields ...any) {
// fmt.Println("ctx: ", ctx)
// fmt.Printf("fields: %v\n", fields)
f := make(map[string]any, len(fields)/2)
l := logger
i := logging.Fields(fields).Iterator()
for i.Next() {
k, v := i.At()
f[k] = v
l = l.With(k, v)
// fmt.Printf("k %v, v %v\n", k, v)
}
// fmt.Println(lvl, msg)
// l.Info("blah")
switch lvl {
case logging.LevelDebug:
l.Debug(msg)
case logging.LevelInfo:
l.Info(msg)
case logging.LevelWarn:
l.Warn(msg)
case logging.LevelError:
l.Error(msg)
default:
panic(fmt.Sprintf("unknown level %v", lvl))
}
})
}