package main import ( "go.uber.org/zap" "go.uber.org/zap/zapcore" ) func main() { // 1. 使用 Sampling 采样(减少高频日志) config := zap.NewProductionConfig() config.Sampling = &zap.SamplingConfig{ Initial: 100, // 前 100 条日志全部记录 Thereafter: 100, // 之后每 100 条记录 1 条 } logger, _ := config.Build() defer logger.Sync() // 2. 预分配字段(避免重复创建) baseFields := []zapcore.Field{ zap.String("service", "user-service"), zap.String("version", "1.0.0"), } // 3. 使用 With 创建子 Logger userLogger := logger.With(baseFields...) // 4. 高效记录日志 for i := 0; i < 1000; i++ { userLogger.Info("Processing request", zap.Int("request_id", i), ) } }