func GetZapContextLoggerFromLogger(ctx context.Context, origLogger *zap.Logger) (*zap.Logger, error) {
	var contextLogger *zap.Logger
	if origLogger == nil {
		return origLogger, errors.New("a valid logger needs to be passed in")
	}
	if ctx != nil {
		contextLogger = addContextFields(ctx, origLogger)
		return contextLogger, nil
	}
	return origLogger, nil
}
GetZapContextLoggerFromLogger creates a new logger based from an existing logger and adds values from the
context as logging fields. If the context passed in is null then it
returns the global logger
package logger
import (
	"context"
	"errors"
	"github.com/IBM/ibmcloud-object-storage-plugin/utils/consts"
	uid "github.com/satori/go.uuid"
	"go.uber.org/zap"
	"go.uber.org/zap/zapcore"
	"os"
)
const (
	PodName = "podName"
)
var ZapLogger *zap.Logger
func GetZapLogger() (*zap.Logger, error) {
	if ZapLogger == nil {
		return NewZapLogger()
	}
	return ZapLogger, nil
}
func GetZapContextLogger(ctx context.Context) (*zap.Logger, error) {
	var contextLogger *zap.Logger
	globalLogger, _ := GetZapLogger()
	if ctx != nil {
		contextLogger = addContextFields(ctx, globalLogger)
		return contextLogger, nil
	}
	return globalLogger, nil
}
func GetZapDefaultContextLogger() (*zap.Logger, error) {
	var contextLogger *zap.Logger
	globalLogger, _ := GetZapLogger()
	contextLogger = addContextFields(generateContextWithRequestID(), globalLogger)
	return contextLogger, nil
}