func New() Logger {
	l, _ := zap.NewProduction()
	return NewWithZap(l)
}
New creates a new logger using the default configuration.
package log
import (
	"context"
	"net/http"
	"github.com/google/uuid"
	"go.uber.org/zap"
	"go.uber.org/zap/zapcore"
	"go.uber.org/zap/zaptest/observer"
)
type Logger interface {
	With(ctx context.Context, args ...interface{}) Logger
	Debug(args ...interface{})
	Info(args ...interface{})
	Error(args ...interface{})
	Debugf(format string, args ...interface{})
	Infof(format string, args ...interface{})
	Errorf(format string, args ...interface{})
}
type logger struct {
	*zap.SugaredLogger
}
type contextKey int
const (
	requestIDKey contextKey = iota
	correlationIDKey
)