Documentation ¶
Index ¶
- Variables
- func DPanic(msg string, fields ...Field)
- func Debug(msg string, fields ...Field)
- func Error(msg string, fields ...Field)
- func Fatal(msg string, fields ...Field)
- func Info(msg string, fields ...Field)
- func Panic(msg string, fields ...Field)
- func SetLogger(l Logger)
- func Warn(msg string, fields ...Field)
- type CallerEncoder
- type Config
- type Core
- type DurationEncoder
- type Encoder
- type Field
- type Level
- type LevelEnabler
- type LevelEncoder
- type Logger
- type LoggerOption
- type Minotaur
- type NameEncoder
- type Option
- func WithDevelopment(development bool) Option
- func WithDisableCaller(disableCaller bool) Option
- func WithDisableStacktrace(disableStacktrace bool) Option
- func WithEncoderCaller(encoderCaller CallerEncoder) Option
- func WithEncoderCallerKey(encoderCallerKey string) Option
- func WithEncoderDuration(encoderDuration DurationEncoder) Option
- func WithEncoderFunctionKey(encoderFunctionKey string) Option
- func WithEncoderLevel(encoderLevel LevelEncoder) Option
- func WithEncoderLevelKey(encoderLevelKey string) Option
- func WithEncoderLineEnding(encoderLineEnding string) Option
- func WithEncoderMessageKey(encoderMessageKey string) Option
- func WithEncoderName(encoderName NameEncoder) Option
- func WithEncoderNameKey(encoderNameKey string) Option
- func WithEncoderNewReflectedEncoder(encoderNewReflectedEncoder func(io.Writer) ReflectedEncoder) Option
- func WithEncoderStacktraceKey(encoderStacktraceKey string) Option
- func WithEncoderTime(encoderTime TimeEncoder) Option
- func WithEncoderTimeKey(encoderTimeKey string) Option
- func WithEncoding(encoding string) Option
- func WithErrorOutputPaths(errorOutputPaths ...string) Option
- func WithInitialFields(initialFields map[string]interface{}) Option
- func WithLevel(level Level) Option
- func WithOutputPaths(outputPaths ...string) Option
- func WithSampling(sampling *zap.SamplingConfig) Option
- type ReflectedEncoder
- type TimeEncoder
- type WriteSyncer
Constants ¶
This section is empty.
Variables ¶
var ( // Skip 构造一个无操作字段,这在处理其他 Field 构造函数中的无效输入时通常很有用 Skip = zap.Skip // Binary 构造一个携带不透明二进制 blob 的字段。二进制数据以适合编码的格式进行序列化。例如,JSON 编码器对二进制 blob 进行 base64 编码。要记录 UTF-8 编码文本,请使用 ByteString Binary = zap.Binary // Bool 构造一个带有布尔值的字段 Bool = zap.Bool // BoolP 构造一个带有布尔值的字段。返回的 Field 将在适当的时候安全且显式地表示“nil” BoolP = zap.Boolp // ByteString 构造一个将 UTF-8 编码文本作为 [] 字节传送的字段。要记录不透明的二进制 blob(不一定是有效的 UTF-8),请使用 Binary ByteString = zap.ByteString // Complex128 构造一个带有复数的字段。与大多数数字字段不同,这需要分配(将complex128转换为interface{}) Complex128 = zap.Complex128 // Complex128P 构造一个带有complex128 的字段。返回的 Field 将在适当的时候安全且显式地表示“nil” Complex128P = zap.Complex128p // Complex64 构造一个带有复数的字段。与大多数数字字段不同,这需要分配(将complex64转换为interface{}) Complex64 = zap.Complex64 // Complex64P 构造一个带有complex64 的字段。返回的 Field 将在适当的时候安全且显式地表示“nil” Complex64P = zap.Complex64p // Float64 构造一个带有 float64 的字段。浮点值的表示方式取决于编码器,因此封送处理必然是惰性的 Float64 = zap.Float64 // Float64P 构造一个带有 float64 的字段。返回的 Field 将在适当的时候安全且显式地表示“nil” Float64P = zap.Float64p // Float32 构造一个带有 float32 的字段。浮点值的表示方式取决于编码器,因此封送处理必然是惰性的 Float32 = zap.Float32 // Float32P 构造一个带有 float32 的字段。返回的 Field 将在适当的时候安全且显式地表示“nil” Float32P = zap.Float32p // Int constructs a field with the given key and value. Int = zap.Int // IntP 构造一个带有 int 的字段。返回的 Field 将在适当的时候安全且显式地表示“nil” IntP = zap.Intp // Int64 使用给定的键和值构造一个字段. Int64 = zap.Int64 // Int64P 构造一个带有 int64 的字段。返回的 Field 将在适当的时候安全且显式地表示“nil” Int64P = zap.Int64p // Int32 使用给定的键和值构造一个字段 Int32 = zap.Int32 // Int32P 构造一个带有 int32 的字段。返回的 Field 将在适当的时候安全且显式地表示“nil”. Int32P = zap.Int32p // Int16 使用给定的键和值构造一个字段 Int16 = zap.Int16 // Int16P 构造一个带有 int16 的字段。返回的 Field 将在适当的时候安全且显式地表示“nil” Int16P = zap.Int16p // Int8 使用给定的键和值构造一个字段 Int8 = zap.Int8 // Int8P 构造一个带有 int8 的字段。返回的 Field 将在适当的时候安全且显式地表示“nil” Int8P = zap.Int8p // String 使用给定的键和值构造一个字段 String = zap.String // StringP 构造一个带有字符串的字段。返回的 Field 将在适当的时候安全且显式地表示“nil” StringP = zap.Stringp // Uint 使用给定的键和值构造一个字段 Uint = zap.Uint // UintP 构造一个带有 uint 的字段。返回的 Field 将在适当的时候安全且显式地表示“nil” UintP = zap.Uintp // Uint64 使用给定的键和值构造一个字段 Uint64 = zap.Uint64 // Uint64P 构造一个带有 uint64 的字段。返回的 Field 将在适当的时候安全且显式地表示“nil” Uint64P = zap.Uint64p // Uint32 使用给定的键和值构造一个字段 Uint32 = zap.Uint32 // Uint32P 构造一个带有 uint32 的字段。返回的 Field 将在适当的时候安全且显式地表示“nil” Uint32P = zap.Uint32p // Uint16 使用给定的键和值构造一个字段 Uint16 = zap.Uint16 // Uint16P 构造一个带有 uint16 的字段。返回的 Field 将在适当的时候安全且显式地表示“nil” Uint16P = zap.Uint16p // Uint8 使用给定的键和值构造一个字段 Uint8 = zap.Uint8 // Uint8P 构造一个带有 uint8 的字段。返回的 Field 将在适当的时候安全且显式地表示“nil” Uint8P = zap.Uint8p // Uintptr 使用给定的键和值构造一个字段 Uintptr = zap.Uintptr // UintptrP 构造一个带有 uintptr 的字段。返回的 Field 将在适当的时候安全且显式地表示“nil” UintptrP = zap.Uintptrp // Reflect 使用给定的键和任意对象构造一个字段。它使用适当的编码、基于反射的方式将几乎任何对象延迟序列化到日志记录上下文中,但它相对较慢且分配繁重。在测试之外,Any 始终是更好的选择 // - 如果编码失败(例如,尝试将 map[int]string 序列化为 JSON),Reflect 将在最终日志输出中包含错误消息 Reflect = zap.Reflect // Namespace 命名空间在记录器的上下文中创建一个命名的、隔离的范围。所有后续字段都将添加到新的命名空间中 // - 这有助于防止将记录器注入子组件或第三方库时发生按键冲突 Namespace = zap.Namespace // Stringer 使用给定的键和值的 String 方法的输出构造一个字段。 Stringer 的 String 方法被延迟调用 Stringer = zap.Stringer // Time 使用给定的键和值构造一个 Field。编码器控制时间的序列化方式 Time = zap.Time // TimeP 构造一个带有 time.Time 的字段。返回的 Field 将在适当的时候安全且显式地表示“nil” TimeP = zap.Timep // Stack 构造一个字段,在提供的键下存储当前 goroutine 的堆栈跟踪。请记住,进行堆栈跟踪是急切且昂贵的(相对而言);此操作会进行分配并花费大约两微秒的时间 Stack = zap.Stack // StackSkip 构造一个与 Stack 类似的字段,但也会从堆栈跟踪顶部跳过给定数量的帧 StackSkip = zap.StackSkip // Duration 使用给定的键和值构造一个字段。编码器控制持续时间的序列化方式 Duration = func(key string, val time.Duration) Field { return String(key, val.String()) } // DurationP 构造一个带有 time.Duration 的字段。返回的 Field 将在适当的时候安全且显式地表示“nil” DurationP = func(key string, val *time.Duration) Field { var s = (*val).String() return StringP(key, &s) } // Object 使用给定的键和 ObjectMarshaler 构造一个字段。它提供了一种灵活但仍然类型安全且高效的方法来将类似映射或结构的用户定义类型添加到日志记录上下文。该结构的 MarshalLogObject 方法被延迟调用 Object = zap.Object // Inline 构造一个与 Object 类似的 Field,但它会将提供的 ObjectMarshaler 的元素添加到当前命名空间 Inline = zap.Inline // Any 接受一个键和一个任意值,并选择将它们表示为字段的最佳方式,仅在必要时才回退到基于反射的方法。 // 由于 byteuint8 和 runeint32 是别名,Any 无法区分它们。为了尽量减少意外情况,[]byte 值被视为二进制 blob,字节值被视为 uint8,而 runes 始终被视为整数 Any = zap.Any // Err 是常见习语 NamedError("error", err) 的简写 Err = zap.Error )
Functions ¶
func DPanic ¶ added in v0.0.13
DPanic 在 DPanicLevel 记录一条消息。该消息包括在日志站点传递的任何字段以及记录器上累积的任何字段
- 如果记录器处于开发模式,它就会出现 panic(DPanic 的意思是“development panic”)。这对于捕获可恢复但不应该发生的错误很有用
func Fatal ¶ added in v0.0.13
Fatal 在 FatalLevel 记录一条消息。该消息包括在日志站点传递的任何字段以及记录器上累积的任何字段
- 然后记录器调用 os.Exit(1),即使 FatalLevel 的日志记录被禁用
Types ¶
type CallerEncoder ¶ added in v0.3.4
type CallerEncoder = zapcore.CallerEncoder
type DurationEncoder ¶ added in v0.3.4
type DurationEncoder = zapcore.DurationEncoder
type Encoder ¶ added in v0.0.13
type Encoder struct {
// contains filtered or unexported fields
}
func (*Encoder) AddCore ¶ added in v0.3.4
func (slf *Encoder) AddCore(ws WriteSyncer, enab LevelEnabler) *Encoder
func (*Encoder) Build ¶ added in v0.3.4
func (slf *Encoder) Build(options ...LoggerOption) *Minotaur
func (*Encoder) Split ¶ added in v0.3.4
func (slf *Encoder) Split(config *lumberjack.Logger, level LevelEnabler) *Encoder
type Level ¶ added in v0.0.13
const ( // DebugLevel 调试级别日志通常非常庞大,并且通常在生产中被禁用 DebugLevel Level = zapcore.DebugLevel // InfoLevel 是默认的日志记录优先级 InfoLevel Level = zapcore.InfoLevel // WarnLevel 日志比信息更重要,但不需要单独的人工审核 WarnLevel Level = zapcore.WarnLevel // ErrorLevel 日志具有高优先级。如果应用程序运行顺利,它不应该生成任何错误级别的日志 ErrorLevel Level = zapcore.ErrorLevel // DPanicLevel 日志是特别重要的错误。在开发中,记录器在写入消息后会出现恐慌 DPanicLevel Level = zapcore.DPanicLevel // PanicLevel 记录一条消息,然后出现恐慌 PanicLevel Level = zapcore.PanicLevel // FatalLevel 记录一条消息,然后调用 os.Exit(1) FatalLevel Level = zapcore.FatalLevel )
type LevelEnabler ¶ added in v0.3.4
type LevelEnabler = zapcore.LevelEnabler
type LevelEncoder ¶ added in v0.3.4
type LevelEncoder = zapcore.LevelEncoder
type Logger ¶ added in v0.0.4
type Logger interface { // Debug 在 DebugLevel 记录一条消息。该消息包括在日志站点传递的任何字段以及记录器上累积的任何字段 Debug(msg string, fields ...Field) // Info 在 InfoLevel 记录一条消息。该消息包括在日志站点传递的任何字段以及记录器上累积的任何字段 Info(msg string, fields ...Field) // Warn 在 WarnLevel 记录一条消息。该消息包括在日志站点传递的任何字段以及记录器上累积的任何字段 Warn(msg string, fields ...Field) // Error 在 ErrorLevel 记录一条消息。该消息包括在日志站点传递的任何字段以及记录器上累积的任何字段 Error(msg string, fields ...Field) // DPanic 在 DPanicLevel 记录一条消息。该消息包括在日志站点传递的任何字段以及记录器上累积的任何字段 // - 如果记录器处于开发模式,它就会出现 panic(DPanic 的意思是“development panic”)。这对于捕获可恢复但不应该发生的错误很有用 DPanic(msg string, fields ...Field) // Panic 在 PanicLevel 记录一条消息。该消息包括在日志站点传递的任何字段以及记录器上累积的任何字段 // - 即使禁用了 PanicLevel 的日志记录,记录器也会出现 panic Panic(msg string, fields ...Field) // Fatal 在 FatalLevel 记录一条消息。该消息包括在日志站点传递的任何字段以及记录器上累积的任何字段 // - 然后记录器调用 os.Exit(1),即使 FatalLevel 的日志记录被禁用 Fatal(msg string, fields ...Field) }
Logger 适用于 Minotaur 的日志接口
type LoggerOption ¶ added in v0.3.4
type NameEncoder ¶ added in v0.3.4
type NameEncoder = zapcore.NameEncoder
type Option ¶ added in v0.0.13
type Option func(config *Config)
func WithDevelopment ¶ added in v0.3.4
WithDevelopment 设置是否为开发模式
func WithDisableCaller ¶ added in v0.3.4
WithDisableCaller 设置是否禁用调用者
func WithDisableStacktrace ¶ added in v0.3.4
WithDisableStacktrace 设置是否禁用堆栈跟踪
func WithEncoderCaller ¶ added in v0.3.4
func WithEncoderCaller(encoderCaller CallerEncoder) Option
WithEncoderCaller 设置调用者编码器
func WithEncoderCallerKey ¶ added in v0.3.4
WithEncoderCallerKey 设置调用者键
func WithEncoderDuration ¶ added in v0.3.4
func WithEncoderDuration(encoderDuration DurationEncoder) Option
WithEncoderDuration 设置持续时间编码器
func WithEncoderFunctionKey ¶ added in v0.3.4
WithEncoderFunctionKey 设置函数键
func WithEncoderLevel ¶ added in v0.3.4
func WithEncoderLevel(encoderLevel LevelEncoder) Option
WithEncoderLevel 设置级别编码器
func WithEncoderLevelKey ¶ added in v0.3.4
WithEncoderLevelKey 设置级别键
func WithEncoderLineEnding ¶ added in v0.3.4
WithEncoderLineEnding 设置行尾
func WithEncoderMessageKey ¶ added in v0.3.4
WithEncoderMessageKey 设置消息键
func WithEncoderName ¶ added in v0.3.4
func WithEncoderName(encoderName NameEncoder) Option
WithEncoderName 设置名称编码器
func WithEncoderNameKey ¶ added in v0.3.4
WithEncoderNameKey 设置名称键
func WithEncoderNewReflectedEncoder ¶ added in v0.3.4
func WithEncoderNewReflectedEncoder(encoderNewReflectedEncoder func(io.Writer) ReflectedEncoder) Option
WithEncoderNewReflectedEncoder 设置反射编码器
func WithEncoderStacktraceKey ¶ added in v0.3.4
WithEncoderStacktraceKey 设置堆栈跟踪键
func WithEncoderTime ¶ added in v0.3.4
func WithEncoderTime(encoderTime TimeEncoder) Option
WithEncoderTime 设置时间编码器
func WithEncoderTimeKey ¶ added in v0.3.4
WithEncoderTimeKey 设置时间键
func WithErrorOutputPaths ¶ added in v0.3.4
WithErrorOutputPaths 设置错误输出路径
func WithInitialFields ¶ added in v0.3.4
WithInitialFields 设置初始字段
func WithOutputPaths ¶ added in v0.3.4
WithOutputPaths 设置输出路径
func WithSampling ¶ added in v0.3.4
func WithSampling(sampling *zap.SamplingConfig) Option
WithSampling 设置采样策略
type ReflectedEncoder ¶ added in v0.3.4
type ReflectedEncoder = zapcore.ReflectedEncoder
type TimeEncoder ¶ added in v0.3.4
type TimeEncoder = zapcore.TimeEncoder
type WriteSyncer ¶ added in v0.3.4
type WriteSyncer = zapcore.WriteSyncer