log

package
v0.6.1 Latest Latest
Warning

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

Go to latest
Published: Aug 17, 2024 License: MIT Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
const (
	LevelDebug = slog.LevelDebug
	LevelInfo  = slog.LevelInfo
	LevelWarn  = slog.LevelWarn
	LevelError = slog.LevelError
)

Variables

This section is empty.

Functions

func Debug

func Debug(msg string, args ...any)

Debug 使用全局日志记录器在 LevelDebug 级别下记录一条消息

func Error

func Error(msg string, args ...any)

Error 使用全局日志记录器在 LevelError 级别下记录一条消息

func Info

func Info(msg string, args ...any)

Info 使用全局日志记录器在 LevelInfo 级别下记录一条消息

func NewMultiHandler

func NewMultiHandler(handlers ...slog.Handler) slog.Handler

NewMultiHandler 创建一个新的多处理程序

func SetDefault

func SetDefault(logger *Logger)

SetDefault 设置默认日志记录器

func Warn

func Warn(msg string, args ...any)

Warn 使用全局日志记录器在 LevelWarn 级别下记录一条消息

Types

type Attr

type Attr = slog.Attr

func Any

func Any(key string, val any) Attr

Any 构造一个带有任意值的字段

func Bool

func Bool(key string, val bool) Attr

Bool 构造一个带有布尔值的字段

func BoolP

func BoolP(key string, val *bool) Attr

BoolP 构造一个带有布尔值的字段。返回的 Attr 将在适当的时候安全且显式地表示 "null"

func Duration

func Duration(key string, val time.Duration) Attr

Duration 使用给定的键和值构造一个字段。编码器控制持续时间的序列化方式

func DurationP

func DurationP(key string, val *time.Duration) Attr

DurationP 构造一个带有 time.Duration 的字段。返回的 Attr 将在适当的时候安全且显式地表示 "null"

func Err

func Err(err error) Attr

Err 构造一个带有错误值的字段

func Float

func Float[F constraints.Float](key string, val F) Attr

Float 构造一个带有浮点值的字段

func Float32

func Float32[F constraints.Float](key string, val F) Attr

Float32 构造一个带有浮点值的字段

func Float32P

func Float32P[F constraints.Float](key string, val *F) Attr

Float32P 构造一个带有浮点值的字段。返回的 Attr 将在适当的时候安全且显式地表示 "null"

func Float64

func Float64[F constraints.Float](key string, val F) Attr

Float64 构造一个带有浮点值的字段

func Float64P

func Float64P[F constraints.Float](key string, val *F) Attr

Float64P 构造一个带有浮点值的字段。返回的 Attr 将在适当的时候安全且显式地表示 "null"

func FloatP

func FloatP[F constraints.Float](key string, val *F) Attr

FloatP 构造一个带有浮点值的字段。返回的 Attr 将在适当的时候安全且显式地表示 "null"

func Group

func Group(key string, args ...any) Attr

Group 返回分组字段

func Int

func Int[I constraints.Int](key string, val I) Attr

Int 构造一个带有整数值的字段

func Int16

func Int16[I constraints.Int](key string, val I) Attr

Int16 构造一个带有整数值的字段

func Int16P

func Int16P[I constraints.Int](key string, val *I) Attr

Int16P 构造一个带有整数值的字段。返回的 Attr 将在适当的时候安全且显式地表示 "null"

func Int32

func Int32[I constraints.Int](key string, val I) Attr

Int32 构造一个带有整数值的字段

func Int32P

func Int32P[I constraints.Int](key string, val *I) Attr

Int32P 构造一个带有整数值的字段。返回的 Attr 将在适当的时候安全且显式地表示 "null"

func Int64

func Int64[I constraints.Int](key string, val I) Attr

Int64 构造一个带有整数值的字段

func Int64P

func Int64P[I constraints.Int](key string, val *I) Attr

Int64P 构造一个带有整数值的字段。返回的 Attr 将在适当的时候安全且显式地表示 "null"

func Int8

func Int8[I constraints.Int](key string, val I) Attr

Int8 构造一个带有整数值的字段

func Int8P

func Int8P[I constraints.Int](key string, val *I) Attr

Int8P 构造一个带有整数值的字段。返回的 Attr 将在适当的时候安全且显式地表示 "null"

func IntP

func IntP[I constraints.Int](key string, val *I) Attr

IntP 构造一个带有整数值的字段。返回的 Attr 将在适当的时候安全且显式地表示 "null"

func Skip

func Skip(vs ...any) Attr

Skip 构造一个无操作字段,这在处理其他 Attr 构造函数中的无效输入时通常很有用

  • 该函数还支持将其他字段快捷的转换为 Skip 字段

func Stack

func Stack(key string) Attr

Stack 返回堆栈字段

func StackData

func StackData(key string, data []byte) Attr

StackData 返回堆栈字段

func String

func String(key, val string) Attr

String 构造一个带有字符串值的字段

func StringP

func StringP(key string, val *string) Attr

StringP 构造一个带有字符串值的字段。返回的 Attr 将在适当的时候安全且显式地表示 "null"

func Time

func Time(key string, val time.Time) Attr

Time 构造一个带有时间值的字段

func TimeP

func TimeP(key string, val *time.Time) Attr

TimeP 构造一个带有时间值的字段。返回的 Attr 将在适当的时候安全且显式地表示 "null"

func Uint

func Uint[I constraints.Int](key string, val I) Attr

Uint 构造一个带有整数值的字段

func Uint16

func Uint16[I constraints.Int](key string, val I) Attr

Uint16 构造一个带有整数值的字段

func Uint16P

func Uint16P[I constraints.Int](key string, val *I) Attr

Uint16P 构造一个带有整数值的字段。返回的 Attr 将在适当的时候安全且显式地表示 "null"

func Uint32

func Uint32[I constraints.Int](key string, val I) Attr

Uint32 构造一个带有整数值的字段

func Uint32P

func Uint32P[I constraints.Int](key string, val *I) Attr

Uint32P 构造一个带有整数值的字段。返回的 Attr 将在适当的时候安全且显式地表示 "null"

func Uint64

func Uint64[I constraints.Int](key string, val I) Attr

Uint64 构造一个带有整数值的字段

func Uint64P

func Uint64P[I constraints.Int](key string, val *I) Attr

Uint64P 构造一个带有整数值的字段。返回的 Attr 将在适当的时候安全且显式地表示 "null"

func Uint8

func Uint8[I constraints.Int](key string, val I) Attr

Uint8 构造一个带有整数值的字段

func Uint8P

func Uint8P[I constraints.Int](key string, val *I) Attr

Uint8P 构造一个带有整数值的字段。返回的 Attr 将在适当的时候安全且显式地表示 "null"

func UintP

func UintP[I constraints.Int](key string, val *I) Attr

UintP 构造一个带有整数值的字段。返回的 Attr 将在适当的时候安全且显式地表示 "null"

type AttrKey

type AttrKey uint16 // 属性键
const (
	AttrKeyTime    AttrKey = iota + 1 // 时间
	AttrKeyLevel                      // 级别
	AttrKeyCaller                     // 调用者
	AttrKeyMessage                    // 消息
)

type CallerFormatter

type CallerFormatter func(file string, line int) (repFile, repLine string)

type ColorType

type ColorType uint16 // 日志颜色类型
const (
	ColorTypeTime             ColorType = iota + 1 // 时间颜色
	ColorTypeDebugLevel                            // Debug 级别颜色
	ColorTypeInfoLevel                             // Info 级别颜色
	ColorTypeWarnLevel                             // Warn 级别颜色
	ColorTypeErrorLevel                            // Error 级别颜色
	ColorTypeCaller                                // 调用者颜色
	ColorTypeMessage                               // 消息颜色
	ColorTypeAttrKey                               // 属性键颜色
	ColorTypeAttrValue                             // 属性值颜色
	ColorTypeAttrDelimiter                         // 属性分隔符颜色
	ColorTypeAttrErrorKey                          // 错误键颜色
	ColorTypeAttrErrorValue                        // 错误值颜色
	ColorTypeErrorTrack                            // 错误追踪颜色
	ColorTypeErrorTrackHeader                      // 错误追踪头部颜色
)

type FunctionalLoggerProvider

type FunctionalLoggerProvider func() *Logger

FunctionalLoggerProvider Logger 提供者

func (FunctionalLoggerProvider) Provide

func (f FunctionalLoggerProvider) Provide() *Logger

Provide 提供 Logger

type GNetLogger

type GNetLogger struct {
	Logger *Logger
}

func NewGNetLogger

func NewGNetLogger(logger *Logger) *GNetLogger

func (*GNetLogger) Debugf

func (l *GNetLogger) Debugf(format string, args ...interface{})

func (*GNetLogger) Errorf

func (l *GNetLogger) Errorf(format string, args ...interface{})

func (*GNetLogger) Fatalf

func (l *GNetLogger) Fatalf(format string, args ...interface{})

func (*GNetLogger) Infof

func (l *GNetLogger) Infof(format string, args ...interface{})

func (*GNetLogger) Warnf

func (l *GNetLogger) Warnf(format string, args ...interface{})

type Handler

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

func NewHandler

func NewHandler(w io.Writer, opts ...*HandlerOptions) *Handler

func (*Handler) Enabled

func (h *Handler) Enabled(ctx context.Context, level slog.Level) bool

func (*Handler) Handle

func (h *Handler) Handle(ctx context.Context, record slog.Record) error

func (*Handler) WithAttrs

func (h *Handler) WithAttrs(attrs []slog.Attr) slog.Handler

func (*Handler) WithGroup

func (h *Handler) WithGroup(name string) slog.Handler

type HandlerOption

type HandlerOption func(opts *HandlerOptions)

type HandlerOptions

type HandlerOptions struct {
	TimeLayout       string                     // 时间格式
	ColorTypes       map[ColorType]*color.Color // 颜色类型
	EnableColor      bool                       // 是否启用颜色
	AttrKeys         map[AttrKey]string         // 属性键
	Delimiter        string                     // 分隔符
	LevelStr         map[Level]string           // 日志级别字符串
	Caller           bool                       // 是否显示调用者
	CallerSkip       int                        // 调用者跳过层数
	CallerFormatter  CallerFormatter            // 调用者格式化
	MessageFormatter MessageFormatter           // 消息格式化
	ErrTrackLevel    map[Level]struct{}         // 错误追踪级别
	TrackBeautify    bool                       // 错误追踪美化
	// contains filtered or unexported fields
}

func NewDevGolandHandlerOptions

func NewDevGolandHandlerOptions() *HandlerOptions

NewDevGolandHandlerOptions 创建一个适用于 Goland 开发环境的 HandlerOptions

  • 与 NewDevHandlerOptions 不同的是,该可选项的日志级别会被输出为适用于 Goland 控制台色彩的字符串

func NewDevHandlerOptions

func NewDevHandlerOptions() *HandlerOptions

NewDevHandlerOptions 创建一个适用于开发环境的 HandlerOptions

  • 该可选项默认提供了一个具有色彩且日志级别为 slog.LevelDebug,并且具有对 error 类型的堆栈美化后的追踪的 HandlerOptions

func NewProdHandlerOptions

func NewProdHandlerOptions() *HandlerOptions

NewProdHandlerOptions 创建一个适用于生产环境的 HandlerOptions

  • 该可选项适用于在服务器上运行,该可选项与 NewDevHandlerOptions 相似,但是不包含任何色彩,且不包含对 error 的追踪,默认日志级别为 slog.LevelInfo

func NewTestHandlerOptions

func NewTestHandlerOptions() *HandlerOptions

NewTestHandlerOptions 创建一个适用于测试环境的 HandlerOptions

  • 该可选项适用于在服务器上运行,该可选项与 NewDevHandlerOptions 相似,但是不包含任何色彩

func (*HandlerOptions) WithAttrKey

func (o *HandlerOptions) WithAttrKey(key AttrKey, value string) *HandlerOptions

WithAttrKey 设置属性键

func (*HandlerOptions) WithCaller

func (o *HandlerOptions) WithCaller(caller bool) *HandlerOptions

WithCaller 设置是否显示调用者

func (*HandlerOptions) WithCallerFormatter

func (o *HandlerOptions) WithCallerFormatter(formatter CallerFormatter) *HandlerOptions

WithCallerFormatter 设置调用者格式化

func (*HandlerOptions) WithCallerSkip

func (o *HandlerOptions) WithCallerSkip(skip int) *HandlerOptions

WithCallerSkip 设置调用者跳过层数

func (*HandlerOptions) WithColor

func (o *HandlerOptions) WithColor(colorType ColorType, attrs ...color.Attribute) *HandlerOptions

WithColor 设置日志颜色

func (*HandlerOptions) WithDelimiter

func (o *HandlerOptions) WithDelimiter(delimiter string) *HandlerOptions

WithDelimiter 设置分隔符

func (*HandlerOptions) WithEnableColor

func (o *HandlerOptions) WithEnableColor(enable bool) *HandlerOptions

WithEnableColor 设置是否启用颜色

func (*HandlerOptions) WithErrTrackLevel

func (o *HandlerOptions) WithErrTrackLevel(levels ...slog.Level) *HandlerOptions

WithErrTrackLevel 设置错误追踪级别

func (*HandlerOptions) WithLevel

func (o *HandlerOptions) WithLevel(level Leveler) *HandlerOptions

WithLevel 设置日志级别

func (*HandlerOptions) WithLevelStr

func (o *HandlerOptions) WithLevelStr(level slog.Level, str string) *HandlerOptions

WithLevelStr 设置日志级别字符串

func (*HandlerOptions) WithMessageFormatter

func (o *HandlerOptions) WithMessageFormatter(formatter MessageFormatter) *HandlerOptions

WithMessageFormatter 设置消息格式化

func (*HandlerOptions) WithTimeLayout

func (o *HandlerOptions) WithTimeLayout(layout string) *HandlerOptions

WithTimeLayout 设置日志时间格式,如 "2006-01-02 15:04:05"

func (*HandlerOptions) WithTrackBeautify

func (o *HandlerOptions) WithTrackBeautify(beautify bool) *HandlerOptions

WithTrackBeautify 设置错误追踪美化

type Level

type Level = slog.Level

type LevelVar

type LevelVar = slog.LevelVar

type Leveler

type Leveler = slog.Leveler

type Logger

type Logger = slog.Logger

func GetDefault

func GetDefault() *Logger

GetDefault 获取默认日志记录器

func New

func New(handler slog.Handler) *Logger

New 创建一个新的日志记录器

func NewSilentLogger

func NewSilentLogger() *Logger

NewSilentLogger 创建一个静默日志记录器,该记录器不会输出任何日志

type LoggerProvider

type LoggerProvider interface {
	// Provide 提供 Logger
	Provide() *Logger
}

LoggerProvider Logger 提供者

type MessageFormatter

type MessageFormatter func(message string) string

type MultiHandler

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

func (MultiHandler) Enabled

func (h MultiHandler) Enabled(ctx context.Context, level slog.Level) bool

func (MultiHandler) Handle

func (h MultiHandler) Handle(ctx context.Context, record slog.Record) (err error)

func (MultiHandler) WithAttrs

func (h MultiHandler) WithAttrs(attrs []slog.Attr) slog.Handler

func (MultiHandler) WithGroup

func (h MultiHandler) WithGroup(name string) slog.Handler

type SilentHandler

type SilentHandler struct {
}

func (SilentHandler) Enabled

func (s SilentHandler) Enabled(ctx context.Context, level slog.Level) bool

func (SilentHandler) Handle

func (s SilentHandler) Handle(ctx context.Context, record slog.Record) error

func (SilentHandler) WithAttrs

func (s SilentHandler) WithAttrs(attrs []slog.Attr) slog.Handler

func (SilentHandler) WithGroup

func (s SilentHandler) WithGroup(name string) slog.Handler

Jump to

Keyboard shortcuts

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