func (log *WrapLogger) Sync() error {
	return log.base.Sync()
}
Sync wrap the zap logging function
package zap
import (
	"context"
	"go.uber.org/zap"
	"go.uber.org/zap/zapcore"
)
type WrapLogger struct {
	base *zap.Logger
}
func WrapWithContext(logger *zap.Logger) *WrapLogger {
	return &WrapLogger{logger}
}
func (log *WrapLogger) Named(s string) *WrapLogger {
	return WrapWithContext(log.base.Named(s))
}
func (log *WrapLogger) WithOptions(opts ...zap.Option) *WrapLogger {
	return WrapWithContext(log.base.WithOptions(opts...))
}
func (log *WrapLogger) With(fields ...zap.Field) *WrapLogger {
	return WrapWithContext(log.base.With(fields...))
}
func (log *WrapLogger) Check(lvl zapcore.Level, msg string) *zapcore.CheckedEntry {
	return log.base.Check(lvl, msg)
}
func (log *WrapLogger) Debug(ctx context.Context, msg string, fields ...zap.Field) {
	log.appendContextField(ctx, &fields)
	log.base.Debug(msg, fields...)
}
func (log *WrapLogger) Info(ctx context.Context, msg string, fields ...zap.Field) {
	log.appendContextField(ctx, &fields)
	log.base.Info(msg, fields...)
}
func (log *WrapLogger) Warn(ctx context.Context, msg string, fields ...zap.Field) {
	log.appendContextField(ctx, &fields)
	log.base.Warn(msg, fields...)
}
func (log *WrapLogger) Error(ctx context.Context, msg string, fields ...zap.Field) {
	log.appendContextField(ctx, &fields)
	log.base.Error(msg, fields...)
}
func (log *WrapLogger) DPanic(ctx context.Context, msg string, fields ...zap.Field) {
	log.appendContextField(ctx, &fields)
	log.base.DPanic(msg, fields...)
}
func (log *WrapLogger) Panic(ctx context.Context, msg string, fields ...zap.Field) {
	log.appendContextField(ctx, &fields)
	log.base.Panic(msg, fields...)
}
func (log *WrapLogger) Fatal(ctx context.Context, msg string, fields ...zap.Field) {
	log.appendContextField(ctx, &fields)
	log.base.Fatal(msg, fields...)
}