func Errorw(msg string, keysAndValues ...interface{}) {
	logger.Sugar().Errorw(msg, keysAndValues...)
}
Errorw logs a message with some additional context. The variadic key-value
pairs are treated as they are in With.
package log
import (
	"io"
	"os"
	"time"
	"github.com/bynil/sov2ex/pkg/config"
	"github.com/arthurkiller/rollingwriter"
	"github.com/pkg/errors"
	"go.uber.org/zap"
	"go.uber.org/zap/zapcore"
)
func init() {
	logger, _ = zap.NewDevelopment()
}
var logger *zap.Logger
var Level = zap.NewAtomicLevelAt(zap.DebugLevel)
func Sync() {
	logger.Sync()
}
func GetLogger() *zap.Logger {
	return logger
}
func Debug(args ...interface{}) {
	logger.Sugar().Debug(args)
}
func Info(args ...interface{}) {
	logger.Sugar().Info(args)
}
func Warn(args ...interface{}) {
	logger.Sugar().Warn(args)
}
func Error(args ...interface{}) {
	logger.Sugar().Error(args)
}
func DPanic(args ...interface{}) {
	logger.Sugar().DPanic(args...)
}
func Panic(args ...interface{}) {
	logger.Sugar().Panic(args...)
}
func Fatal(args ...interface{}) {
	logger.Sugar().Fatal(args...)
}
func Debugf(template string, args ...interface{}) {
	logger.Sugar().Debugf(template, args...)
}
func Infof(template string, args ...interface{}) {
	logger.Sugar().Infof(template, args...)
}
func Warnf(template string, args ...interface{}) {
	logger.Sugar().Warnf(template, args...)
}
func Errorf(template string, args ...interface{}) {
	logger.Sugar().Errorf(template, args...)
}
func DPanicf(template string, args ...interface{}) {
	logger.Sugar().DPanicf(template, args...)
}
func Panicf(template string, args ...interface{}) {
	logger.Sugar().Panicf(template, args...)
}
func Fatalf(template string, args ...interface{}) {
	logger.Sugar().Fatalf(template, args...)
}
func Debugw(msg string, keysAndValues ...interface{}) {
	logger.Sugar().Debugw(msg, keysAndValues...)
}
func Infow(msg string, keysAndValues ...interface{}) {
	logger.Sugar().Infow(msg, keysAndValues...)
}
func Warnw(msg string, keysAndValues ...interface{}) {
	logger.Sugar().Warnw(msg, keysAndValues...)
}