func NewFactory() *Factory {
	f := Factory{
		defaultLevel: zap.NewAtomicLevel(),
		loggers:      map[string]*loggerInfo{},
	}
	f.SetDefaultLevel(OffLevel)
	return &f
}
NewFactory returns a factory.  The default level is set to OFF (all logs disabled)
package flume
import (
	"fmt"
	"github.com/ansel1/merry"
	"go.uber.org/zap"
	"go.uber.org/zap/zapcore"
	"io"
	"os"
	"strings"
	"sync"
)
type loggerInfo struct {
	levelEnabler    zapcore.LevelEnabler
	atomicInnerCore atomicInnerCore
}
type Factory struct {
	defaultLevel zap.AtomicLevel
	encoder zapcore.Encoder
	out     io.Writer
	loggers map[string]*loggerInfo
	sync.Mutex
	addCaller bool
	hooks []HookFunc
}
type Encoder zapcore.Encoder