log

package
v0.0.30 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 21, 2023 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
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 = zap.Duration

	// DurationP 构造一个带有 time.Duration 的字段。返回的 Field 将在适当的时候安全且显式地表示“nil”
	DurationP = zap.Durationp

	// 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

func DPanic(msg string, fields ...Field)

DPanic 在 DPanicLevel 记录一条消息。该消息包括在日志站点传递的任何字段以及记录器上累积的任何字段

  • 如果记录器处于开发模式,它就会出现 panic(DPanic 的意思是“development panic”)。这对于捕获可恢复但不应该发生的错误很有用

func Debug

func Debug(msg string, fields ...Field)

Debug 在 DebugLevel 记录一条消息。该消息包括在日志站点传递的任何字段以及记录器上累积的任何字段

func Error

func Error(msg string, fields ...Field)

Error 在 ErrorLevel 记录一条消息。该消息包括在日志站点传递的任何字段以及记录器上累积的任何字段

func Fatal added in v0.0.13

func Fatal(msg string, fields ...Field)

Fatal 在 FatalLevel 记录一条消息。该消息包括在日志站点传递的任何字段以及记录器上累积的任何字段

  • 然后记录器调用 os.Exit(1),即使 FatalLevel 的日志记录被禁用

func Info

func Info(msg string, fields ...Field)

Info 在 InfoLevel 记录一条消息。该消息包括在日志站点传递的任何字段以及记录器上累积的任何字段

func Panic added in v0.0.13

func Panic(msg string, fields ...Field)

Panic 在 PanicLevel 记录一条消息。该消息包括在日志站点传递的任何字段以及记录器上累积的任何字段

  • 即使禁用了 PanicLevel 的日志记录,记录器也会出现 panic

func SetLogger added in v0.0.13

func SetLogger(log Logger)

SetLogger 设置日志记录器

func Warn

func Warn(msg string, fields ...Field)

Warn 在 WarnLevel 记录一条消息。该消息包括在日志站点传递的任何字段以及记录器上累积的任何字段

Types

type Core added in v0.0.13

type Core = zapcore.Core

type Encoder added in v0.0.13

type Encoder = zapcore.Encoder

func NewEncoder added in v0.0.13

func NewEncoder() Encoder

NewEncoder 创建一个 Minotaur 默认使用的编码器

type Field added in v0.0.13

type Field = zap.Field

type Level added in v0.0.13

type Level = zapcore.Level
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
)

func Levels added in v0.0.13

func Levels() []Level

Levels 返回所有日志级别

type LevelEnablerFunc added in v0.0.13

type LevelEnablerFunc = zap.LevelEnablerFunc

func DPanicLevelPartition added in v0.0.13

func DPanicLevelPartition() LevelEnablerFunc

DPanicLevelPartition 返回一个 LevelEnablerFunc,该函数在 DPanicLevel 时返回 true

  • 该函数被用于划分不同级别的日志输出

func DebugLevelPartition added in v0.0.13

func DebugLevelPartition() LevelEnablerFunc

DebugLevelPartition 返回一个 LevelEnablerFunc,该函数在 DebugLevel 时返回 true

  • 该函数被用于划分不同级别的日志输出

func ErrorLevelPartition added in v0.0.13

func ErrorLevelPartition() LevelEnablerFunc

ErrorLevelPartition 返回一个 LevelEnablerFunc,该函数在 ErrorLevel 时返回 true

  • 该函数被用于划分不同级别的日志输出

func FatalLevelPartition added in v0.0.13

func FatalLevelPartition() LevelEnablerFunc

FatalLevelPartition 返回一个 LevelEnablerFunc,该函数在 FatalLevel 时返回 true

  • 该函数被用于划分不同级别的日志输出

func InfoLevelPartition added in v0.0.13

func InfoLevelPartition() LevelEnablerFunc

InfoLevelPartition 返回一个 LevelEnablerFunc,该函数在 InfoLevel 时返回 true

  • 该函数被用于划分不同级别的日志输出

func MultiLevelPartition added in v0.0.13

func MultiLevelPartition(levels ...Level) LevelEnablerFunc

MultiLevelPartition 返回一个 LevelEnablerFunc,该函数在指定的多个级别时返回 true

  • 该函数被用于划分不同级别的日志输出

func PanicLevelPartition added in v0.0.13

func PanicLevelPartition() LevelEnablerFunc

PanicLevelPartition 返回一个 LevelEnablerFunc,该函数在 PanicLevel 时返回 true

  • 该函数被用于划分不同级别的日志输出

func WarnLevelPartition added in v0.0.13

func WarnLevelPartition() LevelEnablerFunc

WarnLevelPartition 返回一个 LevelEnablerFunc,该函数在 WarnLevel 时返回 true

  • 该函数被用于划分不同级别的日志输出

type Log added in v0.0.13

type Log struct {
	// contains filtered or unexported fields
}

func NewLog added in v0.0.13

func NewLog(options ...Option) *Log

NewLog 创建一个日志记录器

func (*Log) DPanic added in v0.0.13

func (slf *Log) DPanic(msg string, fields ...Field)

DPanic 在 DPanicLevel 记录一条消息。该消息包括在日志站点传递的任何字段以及记录器上累积的任何字段

  • 如果记录器处于开发模式,它就会出现 panic(DPanic 的意思是“development panic”)。这对于捕获可恢复但不应该发生的错误很有用

func (*Log) Debug added in v0.0.13

func (slf *Log) Debug(msg string, fields ...Field)

Debug 在 DebugLevel 记录一条消息。该消息包括在日志站点传递的任何字段以及记录器上累积的任何字段

func (*Log) Debugf added in v0.0.13

func (slf *Log) Debugf(format string, args ...interface{})

func (*Log) Error added in v0.0.13

func (slf *Log) Error(msg string, fields ...Field)

Error 在 ErrorLevel 记录一条消息。该消息包括在日志站点传递的任何字段以及记录器上累积的任何字段

func (*Log) Errorf added in v0.0.13

func (slf *Log) Errorf(format string, args ...interface{})

func (*Log) Fatal added in v0.0.13

func (slf *Log) Fatal(msg string, fields ...Field)

Fatal 在 FatalLevel 记录一条消息。该消息包括在日志站点传递的任何字段以及记录器上累积的任何字段

  • 然后记录器调用 os.Exit(1),即使 FatalLevel 的日志记录被禁用

func (*Log) Fatalf added in v0.0.13

func (slf *Log) Fatalf(format string, args ...interface{})

func (*Log) Info added in v0.0.13

func (slf *Log) Info(msg string, fields ...Field)

Info 在 InfoLevel 记录一条消息。该消息包括在日志站点传递的任何字段以及记录器上累积的任何字段

func (*Log) Infof added in v0.0.13

func (slf *Log) Infof(format string, args ...interface{})

func (*Log) Panic added in v0.0.13

func (slf *Log) Panic(msg string, fields ...Field)

Panic 在 PanicLevel 记录一条消息。该消息包括在日志站点传递的任何字段以及记录器上累积的任何字段

  • 即使禁用了 PanicLevel 的日志记录,记录器也会出现 panic

func (*Log) Printf added in v0.0.13

func (slf *Log) Printf(format string, args ...interface{})

func (*Log) Warn added in v0.0.13

func (slf *Log) Warn(msg string, fields ...Field)

Warn 在 WarnLevel 记录一条消息。该消息包括在日志站点传递的任何字段以及记录器上累积的任何字段

func (*Log) Warnf added in v0.0.13

func (slf *Log) Warnf(format string, args ...interface{})

type Logger added in v0.0.4

type Logger interface {
	ants.Logger
	logging.Logger
	// 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 的日志接口

func GetLogger added in v0.0.13

func GetLogger() Logger

GetLogger 获取日志记录器

type Option added in v0.0.13

type Option func(log *Log)

func WithFilename added in v0.0.13

func WithFilename(filename func(level Level) string) Option

WithFilename 设置日志文件名

  • 默认的日志文件名为: {level}.log

func WithLogDir added in v0.0.13

func WithLogDir(logDir, rotateLogDir string) Option

WithLogDir 设置日志文件夹

  • 默认情况下不会设置日志文件夹,日志将不会被文件存储

func WithRotateFilename added in v0.0.13

func WithRotateFilename(filename func(level Level) string) Option

WithRotateFilename 设置日志分割文件名

  • 默认的日志分割文件名为: {level}.%Y%m%d.log

func WithRotateOption added in v0.0.13

func WithRotateOption(options ...rotateLogs.Option) Option

WithRotateOption 设置日志分割选项

  • 默认的日志分割选项为: WithMaxAge(7天), WithRotationTime(1天)

func WithRunMode added in v0.0.13

func WithRunMode(mode RunMode, handle func() Core) Option

WithRunMode 设置运行模式

  • 默认的运行模式为: RunModeDev
  • 当 handle 不为空时,将会调用 handle(),并将返回值添加到日志记录器中,同时将会抑制默认的日志记录器

type RunMode added in v0.0.13

type RunMode uint8
const (
	// RunModeDev 开发模式是默认的运行模式,同时也是最基础的运行模式
	//   - 开发模式下,将会输出所有级别的日志到控制台
	//   - 默认不再输出日志到文件
	RunModeDev RunMode = iota
	// RunModeTest 测试模式是一种特殊的运行模式,用于测试
	//   - 测试模式下,将会输出所有级别的日志到控制台和文件
	RunModeTest
	// RunModeProd 生产模式是一种特殊的运行模式,用于生产
	//   - 生产模式下,将会输出 InfoLevel 及以上级别的日志到控制台和文件
	RunModeProd
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL