package logger import ( "go.uber.org/zap" "go.uber.org/zap/zapcore" ) func NewMinimal() *zap.Logger { encoder := zapcore.NewConsoleEncoder(zapcore.EncoderConfig{ TimeKey: "ts", LevelKey: "level", NameKey: "logger", CallerKey: "caller", FunctionKey: zapcore.OmitKey, MessageKey: "msg", StacktraceKey: "stacktrace", LineEnding: zapcore.DefaultLineEnding, EncodeLevel: zapcore.CapitalColorLevelEncoder, EncodeTime: zapcore.ISO8601TimeEncoder, EncodeDuration: zapcore.StringDurationEncoder, EncodeCaller: zapcore.ShortCallerEncoder, }) core := zapcore.NewCore( encoder, zapcore.AddSync(stdoutWriter{}), zapcore.DebugLevel, ) return zap.New(core, zap.AddCaller(), zap.AddStacktrace(zap.ErrorLevel)) } func Upgrade(minimalLogger *zap.Logger, cfg Config) (*zap.Logger, error) { return New(cfg) }