优化结构
This commit is contained in:
+12
-1
@@ -433,7 +433,18 @@ func newZapHandler(root, filename string, options Options, errorSink *errorSinkS
|
||||
for _, module := range options.FileOnlyModules {
|
||||
fileOnly[module] = struct{}{}
|
||||
}
|
||||
consoleCore := zapcore.NewCore(outputEncoder.Clone(), zapcore.AddSync(os.Stdout), levelEnabler)
|
||||
// Files stay structured JSON for searching and the log viewer. The console
|
||||
// gets a compact human-readable encoder so entries do not become one long
|
||||
// JSON line that extends far beyond the terminal viewport.
|
||||
consoleEncoderConfig := zap.NewProductionEncoderConfig()
|
||||
consoleEncoderConfig.EncodeTime = func(value time.Time, output zapcore.PrimitiveArrayEncoder) {
|
||||
output.AppendString(options.Prefix + value.Format("2006-01-02 15:04:05.000"))
|
||||
}
|
||||
consoleEncoderConfig.EncodeLevel = zapcore.LowercaseColorLevelEncoder
|
||||
consoleEncoderConfig.EncodeCaller = zapcore.FullCallerEncoder
|
||||
consoleEncoderConfig.ConsoleSeparator = " "
|
||||
consoleEncoder := zapcore.NewConsoleEncoder(consoleEncoderConfig)
|
||||
consoleCore := zapcore.NewCore(consoleEncoder, zapcore.AddSync(os.Stdout), levelEnabler)
|
||||
core = zapcore.NewTee(fileCore, &moduleFilterCore{Core: consoleCore, fileOnly: fileOnly})
|
||||
}
|
||||
routed := &routedFileCore{base: core, encoder: outputEncoder.Clone(), level: levelEnabler, root: root, retentionDay: options.RetentionDay, state: &routedFileState{writers: map[string]*DailyWriter{}}, errorSink: errorSink}
|
||||
|
||||
Reference in New Issue
Block a user