func (l NoOpLogger) With(fields ...Field) Logger {
	return l
}
With implements nested logger for /dev/null logger
package adapter
import (
	"fmt"
	"log"
	"strings"
	"sync"
)
const KeyError = "error"
type (
	Field struct {
		Key   string
		Value interface{}
	}
	Logger interface {
		Debug(msg string, fields ...Field)
		Info(msg string, fields ...Field)
		Error(msg string, fields ...Field)
		With(fields ...Field) Logger
	}
	NoOpLogger struct{}
	StdLogger struct {
		fields *sync.Map
		fLen   int
	}
)
func F(key string, value interface{}) Field {
	return Field{Key: key, Value: value}
}
func Err(err error) Field {
	return F(KeyError, err)
}
func (l NoOpLogger) Debug(msg string, fields ...Field) {}
func (l NoOpLogger) Info(msg string, fields ...Field) {}
func (l NoOpLogger) Error(msg string, fields ...Field) {}