vRp.CD2g_test/utils/log
kercylan98 22449ff5c3 docs: 优化 README.md 可读性 2024-01-15 17:27:02 +08:00
..
survey docs: 优化 README.md 可读性 2024-01-15 17:27:02 +08:00
README.md docs: 优化 README.md 可读性 2024-01-15 17:27:02 +08:00
buffer.go refactor: 重构 log 包,由 zap 改为 slog 2024-01-05 00:18:32 +08:00
caller.go refactor: 重构 log 包,由 zap 改为 slog 2024-01-05 00:18:32 +08:00
color.go refactor: 重构 log 包,由 zap 改为 slog 2024-01-05 00:18:32 +08:00
color_test.go refactor: 重构 log 包,由 zap 改为 slog 2024-01-05 00:18:32 +08:00
default.go fix: 修复 server 包部分问题,修复 log 包在 init 函数调用可能产生的空指针问题 2024-01-08 19:11:16 +08:00
field.go refactor: 重构 log 包,由 zap 改为 slog 2024-01-05 00:18:32 +08:00
field_test.go refactor: 重构 log 包,由 zap 改为 slog 2024-01-05 00:18:32 +08:00
handler.go refactor: 重构 log 包,由 zap 改为 slog 2024-01-05 00:18:32 +08:00
level.go refactor: 重构 log 包,由 zap 改为 slog 2024-01-05 00:18:32 +08:00
logger.go refactor: 重构 log 包,由 zap 改为 slog 2024-01-05 00:18:32 +08:00
multi_handler.go refactor: 重构 log 包,由 zap 改为 slog 2024-01-05 00:18:32 +08:00
options.go refactor: 重构 log 包,由 zap 改为 slog 2024-01-05 00:18:32 +08:00
trace.go refactor: 重构 log 包,由 zap 改为 slog 2024-01-05 00:18:32 +08:00

README.md

Log

Go doc

暂无介绍...

目录导航

列出了该 package 下所有的函数及类型定义,可通过目录导航进行快捷跳转 ❤️

展开 / 折叠目录导航

包级函数定义

函数名称 描述
CallerBasicFormat 返回调用者的基本格式
Println 暂无描述...
Default 获取默认的日志记录器
SetDefault 设置默认的日志记录器
SetDefaultBySlog 设置默认的日志记录器
Debug 在 DebugLevel 记录一条消息。该消息包括在日志站点传递的任何字段以及记录器上累积的任何字段
Info 在 InfoLevel 记录一条消息。该消息包括在日志站点传递的任何字段以及记录器上累积的任何字段
Warn 在 WarnLevel 记录一条消息。该消息包括在日志站点传递的任何字段以及记录器上累积的任何字段
Error 在 ErrorLevel 记录一条消息。该消息包括在日志站点传递的任何字段以及记录器上累积的任何字段
DPanic 在 DPanicLevel 记录一条消息。该消息包括在日志站点传递的任何字段以及记录器上累积的任何字段
Panic 在 PanicLevel 记录一条消息。该消息包括在日志站点传递的任何字段以及记录器上累积的任何字段
Fatal 在 FatalLevel 记录一条消息。该消息包括在日志站点传递的任何字段以及记录器上累积的任何字段
Skip 构造一个无操作字段,这在处理其他 Field 构造函数中的无效输入时通常很有用
Duration 使用给定的键和值构造一个字段。编码器控制持续时间的序列化方式
DurationP 构造一个带有 time.Duration 的字段。返回的 Field 将在适当的时候安全且显式地表示 "null"
Bool 构造一个带有布尔值的字段
BoolP 构造一个带有布尔值的字段。返回的 Field 将在适当的时候安全且显式地表示 "null"
String 构造一个带有字符串值的字段
StringP 构造一个带有字符串值的字段。返回的 Field 将在适当的时候安全且显式地表示 "null"
Int 构造一个带有整数值的字段
IntP 构造一个带有整数值的字段。返回的 Field 将在适当的时候安全且显式地表示 "null"
Int8 构造一个带有整数值的字段
Int8P 构造一个带有整数值的字段。返回的 Field 将在适当的时候安全且显式地表示 "null"
Int16 构造一个带有整数值的字段
Int16P 构造一个带有整数值的字段。返回的 Field 将在适当的时候安全且显式地表示 "null"
Int32 构造一个带有整数值的字段
Int32P 构造一个带有整数值的字段。返回的 Field 将在适当的时候安全且显式地表示 "null"
Int64 构造一个带有整数值的字段
Int64P 构造一个带有整数值的字段。返回的 Field 将在适当的时候安全且显式地表示 "null"
Uint 构造一个带有整数值的字段
UintP 构造一个带有整数值的字段。返回的 Field 将在适当的时候安全且显式地表示 "null"
Uint8 构造一个带有整数值的字段
Uint8P 构造一个带有整数值的字段。返回的 Field 将在适当的时候安全且显式地表示 "null"
Uint16 构造一个带有整数值的字段
Uint16P 构造一个带有整数值的字段。返回的 Field 将在适当的时候安全且显式地表示 "null"
Uint32 构造一个带有整数值的字段
Uint32P 构造一个带有整数值的字段。返回的 Field 将在适当的时候安全且显式地表示 "null"
Uint64 构造一个带有整数值的字段
Uint64P 构造一个带有整数值的字段。返回的 Field 将在适当的时候安全且显式地表示 "null"
Float 构造一个带有浮点值的字段
FloatP 构造一个带有浮点值的字段。返回的 Field 将在适当的时候安全且显式地表示 "null"
Float32 构造一个带有浮点值的字段
Float32P 构造一个带有浮点值的字段。返回的 Field 将在适当的时候安全且显式地表示 "null"
Float64 构造一个带有浮点值的字段
Float64P 构造一个带有浮点值的字段。返回的 Field 将在适当的时候安全且显式地表示 "null"
Time 构造一个带有时间值的字段
TimeP 构造一个带有时间值的字段。返回的 Field 将在适当的时候安全且显式地表示 "null"
Any 构造一个带有任意值的字段
Group 返回分组字段
Stack 返回堆栈字段
Err 构造一个带有错误值的字段
NewHandler 创建一个更偏向于人类可读的处理程序,该处理程序也是默认的处理程序
NewLogger 创建一个新的日志记录器
NewMultiHandler 创建一个新的多处理程序
NewOptions 创建一个新的日志选项

类型定义

类型 名称 描述
STRUCT Field 暂无描述...
STRUCT Logger 暂无描述...
STRUCT MultiHandler 暂无描述...
STRUCT Option 暂无描述...

详情信息

func CallerBasicFormat(file string, line int) (repFile string, refLine string)

返回调用者的基本格式


func Println(str string, color string, desc string)


func Default() *Logger

获取默认的日志记录器


func SetDefault(l *Logger)

设置默认的日志记录器


func SetDefaultBySlog(l *slog.Logger)

设置默认的日志记录器


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

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


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

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


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

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


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

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


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

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

  • 如果记录器处于开发模式,它就会出现 panicDPanic 的意思是“development panic”。这对于捕获可恢复但不应该发生的错误很有用
  • 该 panic 仅在 NewHandler 中创建的处理器会生效

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

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

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

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

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

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

func Skip(vs ...any) slog.Attr

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

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

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

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


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

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


func Bool(key string, val bool) slog.Attr

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


func BoolP(key string, val *bool) slog.Attr

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


func String(key string, val string) slog.Attr

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


func StringP(key string, val *string) slog.Attr

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


func Int[I generic.Integer](key string, val I) slog.Attr

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


func IntP[I generic.Integer](key string, val *I) slog.Attr

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


func Int8[I generic.Integer](key string, val I) slog.Attr

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


func Int8P[I generic.Integer](key string, val *I) slog.Attr

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


func Int16[I generic.Integer](key string, val I) slog.Attr

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


func Int16P[I generic.Integer](key string, val *I) slog.Attr

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


func Int32[I generic.Integer](key string, val I) slog.Attr

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


func Int32P[I generic.Integer](key string, val *I) slog.Attr

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


func Int64[I generic.Integer](key string, val I) slog.Attr

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


func Int64P[I generic.Integer](key string, val *I) slog.Attr

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


func Uint[I generic.Integer](key string, val I) slog.Attr

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


func UintP[I generic.Integer](key string, val *I) slog.Attr

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


func Uint8[I generic.Integer](key string, val I) slog.Attr

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


func Uint8P[I generic.Integer](key string, val *I) slog.Attr

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


func Uint16[I generic.Integer](key string, val I) slog.Attr

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


func Uint16P[I generic.Integer](key string, val *I) slog.Attr

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


func Uint32[I generic.Integer](key string, val I) slog.Attr

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


func Uint32P[I generic.Integer](key string, val *I) slog.Attr

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


func Uint64[I generic.Integer](key string, val I) slog.Attr

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


func Uint64P[I generic.Integer](key string, val *I) slog.Attr

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


func Any(key string, val any) slog.Attr

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


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

返回分组字段


func Stack(key string) slog.Attr

返回堆栈字段

查看 / 收起单元测试

func TestStack(t *testing.T) {
	var i int
	for {
		time.Sleep(time.Second)
		Debug("TestStack")
		Info("TestStack")
		Warn("TestStack")
		Error("TestStack")
		i++
		if i == 3 {
			Default().Logger.Handler().(*handler).opts.GerRuntimeHandler().ChangeLevel(slog.LevelInfo)
		}
	}
}


func Err(err error) slog.Attr

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


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

创建一个更偏向于人类可读的处理程序,该处理程序也是默认的处理程序


func NewLogger(handlers ...slog.Handler) *Logger

创建一个新的日志记录器


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

创建一个新的多处理程序


func NewOptions() *Options

创建一个新的日志选项


Field STRUCT

type Field slog.Attr

Logger STRUCT

type Logger struct {
	*slog.Logger
}

MultiHandler STRUCT

type MultiHandler struct {
	handlers []slog.Handler
}

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


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


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


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


Option STRUCT

type Option func(opts *Options)