优化结构

This commit is contained in:
Yvan
2026-08-21 16:52:37 +08:00
parent e22301f8f6
commit ba1c73fa66
5 changed files with 33 additions and 23 deletions
+12 -1
View File
@@ -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}