func Panicf(format string, args ...interface{}) {
	Zlog.Panicf(format, args...)
}
Panicf interface impl
package base
import "errors"
var Zlog Logger
type Fields map[string]interface{}
const (
	Debug = "debug"
	Info = "info"
	Warn = "warn"
	Error = "error"
	Fatal = "fatal"
)
const (
	InstanceZapLogger int = iota
)
var (
	errInvalidLoggerInstance = errors.New("Invalid logger instance")
)
type Logger interface {
	Debugf(format string, args ...interface{})
	Infof(format string, args ...interface{})
	Warnf(format string, args ...interface{})
	Errorf(format string, args ...interface{})
	Fatalf(format string, args ...interface{})
	Panicf(format string, args ...interface{})
}
type Configuration struct {
	EnableConsole     bool
	ConsoleJSONFormat bool
	ConsoleLevel      string
	EnableFile        bool
	FileJSONFormat    bool
	FileLevel         string
	FileLocation      string
}
func NewLogger(config Configuration) error {
	logger, err := newZapLogger(config)
	if err != nil {
		return err
	}
	Zlog = logger
	return nil
}
func Debugf(format string, args ...interface{}) {
	Zlog.Debugf(format, args...)
}
func Infof(format string, args ...interface{}) {
	Zlog.Infof(format, args...)
}
func Warnf(format string, args ...interface{}) {
	Zlog.Warnf(format, args...)
}
func Errorf(format string, args ...interface{}) {
	Zlog.Errorf(format, args...)
}
func Fatalf(format string, args ...interface{}) {
	Zlog.Fatalf(format, args...)
}