func InterceptorLogger()

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))
		}
	})
}