日志类

package
v0.0.0-...-2910145 Latest Latest
Warning

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

Go to latest
Published: Feb 14, 2024 License: MIT Imports: 35 Imported by: 0

Documentation

Overview

包 glog 实现了强大且易于使用的分级日志功能。

Index

Constants

View Source
const (
	F_ASYNC      = 1 << iota // Print logging content asynchronously。
	F_FILE_LONG              // 打印完整的文件名和行号:/a/b/c/d.go:23.
	F_FILE_SHORT             // 打印文件名的最后一个元素和行号:d.go:23。该选项覆盖了 F_FILE_LONG。
	F_TIME_DATE              // 在本地时区打印日期:2009-01-23。
	F_TIME_TIME              // 在本地时区打印时间:01:23:23
	// “`go
	// 下面是示例代码(假设)
	// package main
	// import (
	//     "fmt"
	//     "time"
	// )
	// func main() {
	// 获取当前时间
	//     now := time.Now()
	// 格式化为 HH:mm:ss 的格式
	//     formattedTime := now.Format("15:04:05")
	// 打印在本地时区的时间:01:23:23
	//     fmt.Println(formattedTime)
	// }
	// 这段注释描述的是要在本地时区打印时间的意图,但实际代码需要获取当前时间并进行格式化以匹配指定格式。
	F_TIME_MILLI // 在本地时区打印带有毫秒的时间:01:23:23.675。
	F_CALLER_FN  // 打印调用函数名称和包名:main.main
	F_TIME_STD   = F_TIME_DATE | F_TIME_MILLI
)
View Source
const (
	COLOR_BLACK = 30 + iota
	COLOR_RED
	COLOR_GREEN
	COLOR_YELLOW
	COLOR_BLUE
	COLOR_MAGENTA
	COLOR_CYAN
	COLOR_WHITE
)
View Source
const (
	COLOR_HI_BLACK = 90 + iota
	COLOR_HI_RED
	COLOR_HI_GREEN
	COLOR_HI_YELLOW
	COLOR_HI_BLUE
	COLOR_HI_MAGENTA
	COLOR_HI_CYAN
	COLOR_HI_WHITE
)

前景高亮度文本颜色

View Source
const (
	LEVEL_ALL  = LEVEL_DEBU | LEVEL_INFO | LEVEL_NOTI | LEVEL_WARN | LEVEL_ERRO | LEVEL_CRIT
	LEVEL_DEV  = LEVEL_ALL
	LEVEL_PROD = LEVEL_WARN | LEVEL_ERRO | LEVEL_CRIT
	LEVEL_NONE = 0
	LEVEL_DEBU = 1 << iota // 16
	LEVEL_INFO             // 32
	LEVEL_NOTI             // 64
	LEVEL_WARN             // 128
	LEVEL_ERRO             // 256
	LEVEL_CRIT             // 512
	LEVEL_PANI             // 1024
	LEVEL_FATA             // 2048
)

注意,LEVEL_PANI 和 LEVEL_FATA 级别并不用于日志输出, 而是用于前缀配置。

View Source
const (
	// DefaultName 是用于实例使用的默认组名。
	DefaultName = "default"
)

Variables

This section is empty.

Functions

func Error

func Error(上下文 context.Context, 值 ...interface{})

Error 以 [ERRO] 标头和换行符打印日志内容。 如果启用了堆栈追踪功能,它还会打印调用者堆栈信息。

func X中间件函数Json

func X中间件函数Json(上下文 context.Context, in *HandlerInput)

HandlerJson 是一个处理器,用于将输出的日志内容作为单个 JSON 字符串进行处理。

func X中间件函数文本结构化输出

func X中间件函数文本结构化输出(上下文 context.Context, in *HandlerInput)

HandlerStructure 是一个处理器,用于将输出的日志内容以结构化字符串形式记录。

func X取Writer

func X取Writer() io.Writer

GetWriter 返回一个自定义的writer对象,该对象实现了io.Writer接口。 如果未设置自定义writer,则返回nil。

func X取上下文名称

func X取上下文名称() []interface{}

GetCtxKeys 获取并返回用于日志记录的上下文键。

func X取堆栈信息

func X取堆栈信息(偏移量 ...int) string

GetStack 返回调用堆栈的内容, 可选参数 `skip` 指定了从终点开始跳过的堆栈偏移量。

func X取文件路径

func X取文件路径() string

GetPath 返回用于文件日志记录的日志目录路径。 如果未设置目录路径,则返回空字符串。

func X取标识

func X取标识() int

GetFlags 返回默认日志器的标志。

func X取级别

func X取级别() int

GetLevel 返回默认的日志级别值。

func X取级别前缀

func X取级别前缀(级别 int) string

GetLevelPrefix 返回指定级别的前缀字符串。

func X设置Writer

func X设置Writer(writer io.Writer)

SetWriter 设置自定义的日志 `writer` 用于日志记录。 `writer` 对象应实现 io.Writer 接口。 开发者可以使用自定义的日志 `writer` 将日志输出重定向到其他服务, 例如:kafka、mysql、mongodb 等等。

func X设置debug

func X设置debug(开启 bool)

SetDebug 用于启用/禁用默认 defaultLogger 的调试级别。 调试级别默认是启用状态。

func X设置上下文名称

func X设置上下文名称(名称 ...interface{})

SetCtxKeys 为 defaultLogger 设置上下文键。这些键用于从上下文中检索值并将其打印到日志内容中。

注意,多次调用此函数会覆盖之前设置的上下文键。

func X设置中间件

func X设置中间件(处理函数 ...Handler)

SetHandlers 为默认的 defaultLogger 设置日志处理器。

func X设置前缀

func X设置前缀(前缀 string)

SetPrefix 设置每个日志内容的前缀字符串。 前缀是头部的一部分,这意味着如果关闭了头部输出,则不会输出任何前缀。

func X设置堆栈跟踪

func X设置堆栈跟踪(开启 bool)

SetStack 启用/禁用失败日志输出中的堆栈跟踪功能。

func X设置异步输出

func X设置异步输出(开启 bool)

SetAsync 用于启用/禁用默认默认Logger的异步日志输出功能。

func X设置文件名格式

func X设置文件名格式(文件名格式 string)

SetFile 设置文件日志的文件名`pattern`。 在`pattern`中可以使用日期时间模式,例如:access-{Ymd}.log。 默认的文件名模式是:Y-m-d.log,例如:2018-01-01.log 这段Go语言代码注释翻译成中文为: 设置文件日志的文件名为 `pattern`。 可以在 `pattern` 中使用日期时间格式化字符串,例如:access-{Ymd}.log(表示按年月日生成不同文件)。 默认的文件名格式是:Y-m-d.log,例如:2018-01-01.log

func X设置文件是否输出颜色

func X设置文件是否输出颜色(开启 bool)

SetWriterColorEnable 设置文件日志记录使用颜色

func X设置文件路径

func X设置文件路径(文件路径 string) error

SetPath 设置文件日志的目录路径。

func X设置文本级别

func X设置文本级别(级别 string) error

SetLevelStr 通过级别字符串设置日志记录级别。

func X设置是否同时输出到终端

func X设置是否同时输出到终端(开启 bool)

SetStdoutPrint 设置是否将日志内容输出到标准输出(stdout),默认情况下为true。

func X设置是否输出头信息

func X设置是否输出头信息(开启 bool)

SetHeaderPrint 设置是否输出日志内容的头部,默认为true。

func X设置级别

func X设置级别(级别 int)

SetLevel 设置默认的日志级别。

func X设置级别前缀

func X设置级别前缀(级别 int, 前缀 string)

SetLevelPrefix 为指定等级设置前缀字符串。

func X设置级别前缀Map

func X设置级别前缀Map(前缀Map map[int]string)

SetLevelPrefixes 为默认日志器设置等级到前缀字符串的映射。

func X设置配置Map

func X设置配置Map(m map[string]interface{}) error

SetConfigWithMap 通过map为默认日志器设置配置。

func X设置配置项

func X设置配置项(配置项 Config) error

SetConfig 设置默认日志器的配置。

func X设置额外标识

func X设置额外标识(标识 int)

SetFlags 设置日志输出功能的额外标志。

func X设置默认中间件

func X设置默认中间件(处理函数 Handler)

SetDefaultHandler 设置包的默认处理器。

func X设置默认日志类

func X设置默认日志类(l *Logger)

SetDefaultLogger 为 glog 包设置默认日志器。 注意,如果在不同 goroutine 中调用此函数可能存在并发安全问题。

func X输出

func X输出(上下文 context.Context, 值 ...interface{})

Print 使用 fmt.Sprintln 函数打印变量 `v` 及其换行。参数 `v` 可以是多个变量。

func X输出CRIT

func X输出CRIT(上下文 context.Context, 值 ...interface{})

Critical 以 [CRIT] 标头和换行符打印日志内容。 如果启用了堆栈追踪功能,还会打印调用堆栈信息。

func X输出DEBU

func X输出DEBU(上下文 context.Context, 值 ...interface{})

Debug 以 [DEBU] 标头和换行符打印日志内容。

func X输出FATA

func X输出FATA(上下文 context.Context, 值 ...interface{})

Fatal 打印带有[FATA]头部和换行符的日志内容,然后退出当前进程。

func X输出INFO

func X输出INFO(上下文 context.Context, 值 ...interface{})

Info打印日志内容,前面带有[INFO]头部和换行符。

func X输出NOTI

func X输出NOTI(上下文 context.Context, 值 ...interface{})

Notice 以 [NOTI] 标头和换行符打印日志内容。 如果启用了堆栈功能,还会打印调用堆栈信息。

func X输出PANI

func X输出PANI(上下文 context.Context, 值 ...interface{})

Panic 会打印带有[PANI]头部和换行符的日志内容,然后触发 panic。

func X输出WARN

func X输出WARN(上下文 context.Context, 值 ...interface{})

Warning 以 [WARN] 标头和换行符打印日志内容。 如果启用了堆栈功能,它还会打印调用者堆栈信息。

func X输出堆栈信息

func X输出堆栈信息(上下文 context.Context, 偏移量 ...int)

PrintStack 打印调用栈, 可选参数 `skip` 指定了从终点开始需要跳过的堆栈偏移量。

func X输出并格式化

func X输出并格式化(上下文 context.Context, 格式 string, 值 ...interface{})

Printf 通过使用 fmt.Sprintf 格式化方法打印变量 `v`。 参数 `v` 可以是多个变量。

func X输出并格式化CRIT

func X输出并格式化CRIT(上下文 context.Context, 格式 string, 值 ...interface{})

Criticalf以[CRIT]头部、自定义格式和换行符打印日志内容。 如果启用了堆栈追踪功能,它还会打印调用者堆栈信息。

func X输出并格式化DEBU

func X输出并格式化DEBU(上下文 context.Context, 格式 string, 值 ...interface{})

Debugf按照[DEBU]头部,自定义格式及换行打印日志内容。

func X输出并格式化ERR

func X输出并格式化ERR(上下文 context.Context, 格式 string, 值 ...interface{})

Errorf 函数以 [ERRO] 标头、自定义格式及换行符打印日志内容。 若启用了堆栈追踪功能,它还会打印调用者堆栈信息。

func X输出并格式化FATA

func X输出并格式化FATA(上下文 context.Context, 格式 string, 值 ...interface{})

Fatalf 打印日志内容,其头部为[FATA],采用自定义格式,并在末尾添加换行符,然后退出当前进程。

func X输出并格式化INFO

func X输出并格式化INFO(上下文 context.Context, 格式 string, 值 ...interface{})

Infof 格式化并打印日志内容,带有 [INFO] 标头、自定义格式及换行。 ```go Infof 根据提供的格式和参数,以 [INFO] 头部形式输出格式化信息,并在末尾添加换行。 示例用法: log.Infof("用户 %s 登录成功", username)

func X输出并格式化NOTI

func X输出并格式化NOTI(上下文 context.Context, 格式 string, 值 ...interface{})

Noticef函数以[NOTI]头、自定义格式及换行符打印日志内容。 如果启用了堆栈追踪功能,它还会打印调用堆栈信息。

func X输出并格式化PANI

func X输出并格式化PANI(上下文 context.Context, 格式 string, 值 ...interface{})

Panicf 函数会打印带有[PANI]头部、自定义格式以及换行符的日志内容,然后触发 panic。

func X输出并格式化WARN

func X输出并格式化WARN(上下文 context.Context, 格式 string, 值 ...interface{})

Warningf函数会打印带有[WARN]头的记录内容,使用自定义格式并添加换行符。 如果启用了堆栈功能,它还会打印调用堆栈信息。

Types

type Config

type Config struct {
	X中间件       []Handler      `json:"-"`                    // 日志处理器实现类似中间件的功能。
	Writer     io.Writer      `json:"-"`                    // 自定义 io.Writer。
	X日志标识      int            `json:"flags"`                // 附加日志输出功能的标志。
	X时间格式      string         `json:"timeFormat"`           // 日志时间格式
	X文件路径      string         `json:"path"`                 // 日志目录路径。
	X文件名格式     string         `json:"file"`                 // 日志文件的格式化模式。
	X级别        int            `json:"level"`                // Output level.
	X前缀        string         `json:"prefix"`               // Prefix 字符串,用于作为每条日志内容的前缀。
	X堆栈偏移量     int            `json:"stSkip"`               // 跳过堆栈的计数。
	X堆栈状态      int            `json:"stStatus"`             // 栈状态(1: 启用 - 默认值; 0: 禁用)
	X堆栈过滤      string         `json:"stFilter"`             // 字符串过滤栈
	X上下文名称     []interface{}  `json:"ctxKeys"`              // Context keys 用于日志记录,它们被用于从context中检索值。
	X是否输出头信息   bool           `json:"header"`               // 是否打印头部信息(默认为true)
	X是否同时输出到终端 bool           `json:"stdout"`               // 是否输出到标准输出(默认为true)
	X是否输出级别    bool           `json:"levelPrint"`           // 是否打印级别格式化字符串(默认为true)
	X日志级别名称映射  map[int]string `json:"levelPrefixes"`        // 日志级别到其前缀字符串的映射。
	X文件分割大小    int64          `json:"rotateSize"`           // 如果日志文件大小 > 0字节,则旋转日志文件。
	X文件分割周期    time.Duration  `json:"rotateExpire"`         // 如果日志文件的修改时间超过这个持续时间,则旋转日志文件。
	X文件分割保留数量  int            `json:"rotateBackupLimit"`    // Max 备份文件数量,默认为0,表示不进行备份。
	X文件分割过期时间  time.Duration  `json:"rotateBackupExpire"`   // Max 为轮转文件设置的过期时间,默认为0,表示永不过期。
	X文件压缩级别    int            `json:"rotateBackupCompress"` // Compress level for rotated files using gzip algorithm. It's 0 in default, means no compression.
	X文件分割检查间隔  time.Duration  `json:"rotateCheckInterval"`  // Asynchronously checks the backups and expiration at intervals. It's 1 hour in default.
	X关闭终端颜色输出  bool           `json:"stdoutColorDisabled"`  // 是否(默认为false)在向writer输出时,以颜色前缀形式记录日志级别
	X文件是否输出颜色  bool           `json:"writerColorEnable"`    // 是否(默认为false)在向writer输出时,以颜色前缀形式记录日志级别
	// contains filtered or unexported fields
}

Config 是 logger 的配置对象。

func X生成默认配置

func X生成默认配置() Config

DefaultConfig 返回日志器的默认配置。

type Handler

type Handler func(ctx context.Context, in *HandlerInput)

Handler 是用于自定义日志内容输出的函数处理器。

func X取默认中间件

func X取默认中间件() Handler

GetDefaultHandler 返回该包的默认处理器。

type HandlerInput

type HandlerInput struct {
	Logger    *Logger       // 当前日志器对象。
	X缓冲区      *bytes.Buffer // Buffer,用于日志内容输出。
	X时间       time.Time     // 日志时间,即触发日志记录的时间。
	X格式化时间    string        // 格式化的时间字符串,如 "2016-01-09 12:00:00"。
	X颜色       int           // 使用颜色,如COLOR_RED、COLOR_BLUE等。例如:34
	X级别       int           // 使用级别,如 LEVEL_INFO, LEVEL_ERRO 等。例如:256
	X文本级别     string        // 格式化的级别字符串,如 "DEBU", "ERRO" 等。例如:ERRO
	X源文件函数名   string        // 如果设置了F_CALLER_FN,该变量记录调用日志函数的源函数名。
	X源文件路径与行号 string        // 调用日志记录的源文件路径及其行号,仅在设置了 F_FILE_SHORT 或 F_FILE_LONG 时可用。
	X上下文值     string        // 从context中获取的字符串类型的上下文值,但只有在配置了Config.CtxKeys时才可用。
	X链路跟踪ID   string        // 跟踪ID,仅在启用OpenTelemetry时可用。
	X前缀       string        // 自定义日志内容前缀字符串。
	X日志内容     string        // Content 是由 logger 生成的、不包含错误堆栈信息的主要日志内容。
	X未格式化数组   []any         // 传递给 logger 的未格式化的值数组。
	Stack     string        // Stack 字符串由 logger 生成,仅在配置了 Config.StStatus 时可用。
	X是否为异步    bool          // IsAsync 标记它处于异步日志记录状态。
	// contains filtered or unexported fields
}

HandlerInput 是 logging Handler 的输入参数结构体。

func (*HandlerInput) Next

func (in *HandlerInput) Next(ctx context.Context)

Next 以中间件方式调用下一个日志处理程序。

func (*HandlerInput) String

func (in *HandlerInput) String(withColor ...bool) string

String 返回由默认日志处理程序格式化的日志内容。

type HandlerOutputJson

type HandlerOutputJson struct {
	X时间       string `json:""`           // 格式化的时间字符串,如 "2016-01-09 12:00:00"。
	X链路跟踪ID   string `json:",omitempty"` // 跟踪ID,仅在启用跟踪时可用。
	X上下文值     string `json:",omitempty"` // 从context中获取的字符串类型的上下文值,但只有在配置了Config.CtxKeys时才可用。
	X级别       string `json:""`           // 格式化的级别字符串,如 "DEBU", "ERRO" 等。例如:ERRO
	X源文件路径与行号 string `json:",omitempty"` // 调用日志记录的源文件路径及其行号,仅在设置了 F_FILE_SHORT 或 F_FILE_LONG 时可用。
	X源文件函数名   string `json:",omitempty"` // 如果设置了F_CALLER_FN,该变量记录调用日志函数的源函数名。
	X前缀       string `json:",omitempty"` // 自定义日志内容前缀字符串。

	Stack string `json:",omitempty"` // Stack 字符串由 logger 生成,仅在配置了 Config.StStatus 时可用。
	// contains filtered or unexported fields
}

HandlerOutputJson 是一个结构体,用于将日志内容以单个 JSON 的形式输出。

type ILogger

type ILogger interface {
	X输出(上下文 context.Context, 值 ...interface{})
	X输出并格式化(上下文 context.Context, 格式 string, 值 ...interface{})
	X输出DEBU(上下文 context.Context, 值 ...interface{})
	X输出并格式化DEBU(上下文 context.Context, 格式 string, 值 ...interface{})
	X输出INFO(上下文 context.Context, 值 ...interface{})
	X输出并格式化INFO(上下文 context.Context, 格式 string, 值 ...interface{})
	X输出NOTI(上下文 context.Context, 值 ...interface{})
	X输出并格式化NOTI(上下文 context.Context, 格式 string, 值 ...interface{})
	X输出WARN(上下文 context.Context, 值 ...interface{})
	X输出并格式化WARN(上下文 context.Context, 格式 string, 值 ...interface{})
	Error(上下文 context.Context, 值 ...interface{})
	X输出并格式化ERR(上下文 context.Context, 格式 string, 值 ...interface{})
	X输出CRIT(上下文 context.Context, 值 ...interface{})
	X输出并格式化CRIT(上下文 context.Context, 格式 string, 值 ...interface{})
	X输出PANI(上下文 context.Context, 值 ...interface{})
	X输出并格式化PANI(上下文 context.Context, 格式 string, 值 ...interface{})
	X输出FATA(上下文 context.Context, 值 ...interface{})
	X输出并格式化FATA(上下文 context.Context, 格式 string, 值 ...interface{})
}

ILogger 是 logger 的 API 接口。

type Logger

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

Logger 是用于日志管理的结构体。

func Expose别名

func Expose别名() *Logger

Expose 返回 glog 包的默认日志器。 DefaultLogger() 方法的别名

func X创建

func X创建() *Logger

New 创建并返回一个自定义日志器。

func X创建并按writer

func X创建并按writer(writer io.Writer) *Logger

NewWithWriter 通过 io.Writer 创建并返回一个自定义的日志记录器。

func X取单例对象

func X取单例对象(名称 ...string) *Logger

Instance 返回一个具有默认设置的 Logger 实例。 参数 `name` 是该实例的名称。

func X取默认日志类

func X取默认日志类() *Logger

DefaultLogger 返回默认日志器。

func X堆栈偏移量

func X堆栈偏移量(偏移量 int) *Logger

Skip 是一个链式函数, 用于设置当前日志内容输出时的堆栈跳过级别。 当启用行号打印时,它也会影响调用文件路径的检查。

func X堆栈过滤

func X堆栈过滤(过滤器 string) *Logger

StackWithFilter 是一个链式函数, 用于为当前日志内容输出设置堆栈过滤器。

func X堆栈选项

func X堆栈选项(开启 bool, 偏移量 ...int) *Logger

Stack 是一个链式函数, 用于为当前日志内容输出设置堆栈选项。

func X文件分类

func X文件分类(类名称 string) *Logger

Cat 是一个链式函数, 它用于将当前日志内容输出的类别设置为 `category`。

func X文件名格式

func X文件名格式(文件名格式 string) *Logger

File 是一个链式函数, 用于设置当前日志内容输出的文件名模式。

func X文件路径

func X文件路径(文件路径 string) *Logger

Path 是一个链式函数, 它用于将当前日志内容输出的目标目录路径设置为 `path`。

func X文本级别

func X文本级别(文本级别 string) *Logger

LevelStr 是一个链式函数, 通过级别字符串设置当前日志内容输出的记录级别。

func X是否同时输出到终端

func X是否同时输出到终端(开启 ...bool) *Logger

Stdout 是一个链式函数, 用于启用/禁用当前日志内容输出到标准输出(stdout)。 默认情况下它是启用的。

func X是否异步输出

func X是否异步输出(开启 ...bool) *Logger

Async 是一个链式函数, 用于启用/禁用异步日志输出功能。

func X是否输出头信息

func X是否输出头信息(开启 ...bool) *Logger

Header 是一个链式函数, 用于启用/禁用当前日志内容输出的头部信息。 默认情况下它是启用的。

func X是否输出源文件路径与行号

func X是否输出源文件路径与行号(开启 ...bool) *Logger

Line 是一个链式函数, 它用于启用/禁用在输出时附带调用者文件及其行号。 参数 `long` 指定是否打印完整的绝对文件路径,例如:/a/b/c/d.go:23。

func X级别

func X级别(级别 int) *Logger

Level 是一个链式函数, 用于设置当前日志内容输出的记录级别。

func X重定向输出

func X重定向输出(writer io.Writer) *Logger

To 是一个链式函数, 它将当前日志内容输出重定向到指定的 `writer`。

func (*Logger) AppendCtxKeys

func (l *Logger) AppendCtxKeys(keys ...interface{})

AppendCtxKeys 向日志器追加额外键。 如果该键之前已向日志器追加过,则忽略此次操作。

func (*Logger) Error

func (l *Logger) Error(上下文 context.Context, 值 ...interface{})

Error 以 [ERRO] 标头和换行符打印日志内容。 如果启用了堆栈追踪功能,它还会打印调用者堆栈信息。

func (*Logger) PrintStack

func (l *Logger) PrintStack(ctx context.Context, skip ...int)

PrintStack 打印调用栈, 可选参数 `skip` 指定了从终点开始需要跳过的堆栈偏移量。

func (*Logger) Write

func (l *Logger) Write(p []byte) (n int, err error)

Write 实现了 io.Writer 接口。 它只是使用 Print 打印内容。

func (*Logger) X取Writer

func (l *Logger) X取Writer() io.Writer

GetWriter 返回自定义的writer对象,该对象实现了io.Writer接口。 如果之前未设置过writer,则返回nil。

func (*Logger) X取上下文名称

func (l *Logger) X取上下文名称() []interface{}

GetCtxKeys 获取并返回用于日志记录的上下文键。

func (*Logger) X取副本

func (l *Logger) X取副本() *Logger

Clone 返回一个新的日志器,它是当前日志器的“浅复制”。 注意,克隆后的日志器其 `config` 属性是对当前日志器该属性的浅复制。

func (*Logger) X取堆栈信息

func (l *Logger) X取堆栈信息(偏移量 ...int) string

GetStack 返回调用堆栈的内容, 可选参数 `skip` 指定了从终点开始跳过的堆栈偏移量。

func (*Logger) X取文件路径

func (l *Logger) X取文件路径() string

GetPath 返回用于文件日志记录的日志目录路径。 如果未设置目录路径,则返回空字符串。

func (*Logger) X取标识

func (l *Logger) X取标识() int

GetFlags 返回日志器的标志。

func (*Logger) X取级别

func (l *Logger) X取级别() int

GetLevel 返回日志等级值。

func (*Logger) X取级别前缀

func (l *Logger) X取级别前缀(级别 int) string

GetLevelPrefix 返回指定级别的前缀字符串。

func (*Logger) X取配置项

func (l *Logger) X取配置项() Config

GetConfig 返回当前 Logger 的配置。

func (*Logger) X堆栈偏移量

func (l *Logger) X堆栈偏移量(偏移量 int) *Logger

Skip 是一个链式函数, 用于设置当前日志内容输出时的堆栈跳过级别。 当启用行号打印时,它也会影响调用文件路径的检查。

func (*Logger) X堆栈过滤

func (l *Logger) X堆栈过滤(过滤器 string) *Logger

StackWithFilter 是一个链式函数, 用于为当前日志内容输出设置堆栈过滤器。

func (*Logger) X堆栈选项

func (l *Logger) X堆栈选项(开启 bool, 偏移量 ...int) *Logger

Stack 是一个链式函数, 用于为当前日志内容输出设置堆栈选项。

func (*Logger) X文件分类

func (l *Logger) X文件分类(类名称 string) *Logger

Cat 是一个链式函数, 它用于为当前日志内容输出设置类别为 `category`。 参数 `category` 可以是层级式的,例如:module/user。

func (*Logger) X文件名格式

func (l *Logger) X文件名格式(文件名格式 string) *Logger

File 是一个链式函数, 用于设置当前日志内容输出的文件名模式。

func (*Logger) X文件路径

func (l *Logger) X文件路径(文件路径 string) *Logger

Path 是一个链式函数, 用于将当前日志内容输出的目标目录路径设置为 `path`。

注意,参数 `path` 应为一个目录路径,而非文件路径。

func (*Logger) X文本级别

func (l *Logger) X文本级别(文本级别 string) *Logger

LevelStr 是一个链式函数, 通过级别字符串设置当前日志内容输出的记录级别。

func (*Logger) X是否同时输出到终端

func (l *Logger) X是否同时输出到终端(开启 ...bool) *Logger

Stdout 是一个链式函数, 用于启用/禁用当前日志内容输出到标准输出(stdout)。 默认情况下它是启用的。

func (*Logger) X是否异步输出

func (l *Logger) X是否异步输出(开启 ...bool) *Logger

Async 是一个链式函数, 用于启用/禁用异步日志输出功能。

func (*Logger) X是否输出头信息

func (l *Logger) X是否输出头信息(开启 ...bool) *Logger

Header 是一个链式函数, 用于启用/禁用当前日志内容输出的头部信息。 默认情况下它是启用的。

func (*Logger) X是否输出源文件路径与行号

func (l *Logger) X是否输出源文件路径与行号(开启 ...bool) *Logger

Line 是一个链式函数, 它用于启用/禁用在输出时附带调用者所在的文件路径及行号。 参数 `long` 指定了是否打印完整的绝对文件路径,例如:/a/b/c/d.go:23, 否则只打印简短形式:d.go:23。

func (*Logger) X级别

func (l *Logger) X级别(级别 int) *Logger

Level 是一个链式函数, 用于设置当前日志内容输出的记录级别。

func (*Logger) X设置Writer

func (l *Logger) X设置Writer(writer io.Writer)

SetWriter 设置自定义的日志 `writer` 用于日志记录。 `writer` 对象应实现 io.Writer 接口。 开发者可以使用自定义的日志 `writer` 将日志输出重定向到其他服务, 例如:kafka、mysql、mongodb 等。

func (*Logger) X设置debug

func (l *Logger) X设置debug(开启 bool)

SetDebug 用于开启或关闭日志器的调试级别。 默认情况下,调试级别是启用的。

func (*Logger) X设置上下文名称

func (l *Logger) X设置上下文名称(名称 ...interface{})

SetCtxKeys 设置日志器的上下文键。这些键用于从上下文中检索值并将其打印到日志内容中。

注意,多次调用此函数将覆盖之前设置的上下文键。

func (*Logger) X设置中间件

func (l *Logger) X设置中间件(处理函数 ...Handler)

SetHandlers 设置当前日志器的处理程序。

func (*Logger) X设置关闭终端颜色输出

func (l *Logger) X设置关闭终端颜色输出(关闭 bool)

SetStdoutColorDisabled 禁用 stdout 日志颜色输出。

func (*Logger) X设置前缀

func (l *Logger) X设置前缀(前缀 string)

SetPrefix 设置每个日志内容的前缀字符串。 前缀是头部的一部分,这意味着如果关闭了头部输出,则不会输出任何前缀。

func (*Logger) X设置堆栈偏移量

func (l *Logger) X设置堆栈偏移量(偏移量 int)

SetStackSkip 设置从终点开始的堆栈偏移量。

func (*Logger) X设置堆栈跟踪

func (l *Logger) X设置堆栈跟踪(开启 bool)

SetStack 启用/禁用失败日志输出中的堆栈跟踪功能。

func (*Logger) X设置堆栈过滤

func (l *Logger) X设置堆栈过滤(过滤器 string)

SetStackFilter 从终点设置堆栈过滤器。

func (*Logger) X设置异步输出

func (l *Logger) X设置异步输出(开启 bool)

SetAsync 启用/禁用异步日志输出功能。

func (*Logger) X设置文件名格式

func (l *Logger) X设置文件名格式(文件名格式 string)

SetFile 设置文件日志的文件名`pattern`。 在`pattern`中可以使用日期时间模式,例如:access-{Ymd}.log。 默认的文件名模式是:Y-m-d.log,例如:2018-01-01.log 这段Go语言代码注释翻译成中文为: 设置文件日志的文件名为 `pattern`。 可以在 `pattern` 中使用日期时间格式化字符串,例如:access-{Ymd}.log(表示按年月日生成不同文件)。 默认的文件名格式是:Y-m-d.log,例如:2018-01-01.log

func (*Logger) X设置文件是否输出颜色

func (l *Logger) X设置文件是否输出颜色(开启 bool)

SetWriterColorEnable 开启文件/写入器日志的彩色输出功能。

func (*Logger) X设置文件路径

func (l *Logger) X设置文件路径(文件路径 string) error

SetPath 设置文件日志的目录路径。

func (*Logger) X设置文本级别

func (l *Logger) X设置文本级别(级别 string) error

SetLevelStr 通过级别字符串设置日志记录级别。

func (*Logger) X设置时间格式

func (l *Logger) X设置时间格式(时间格式 string)

SetTimeFormat 设置日志时间的时间格式。

func (*Logger) X设置是否同时输出到终端

func (l *Logger) X设置是否同时输出到终端(开启 bool)

SetStdoutPrint 设置是否将日志内容输出到标准输出(stdout),默认为true。

func (*Logger) X设置是否输出头信息

func (l *Logger) X设置是否输出头信息(开启 bool)

SetHeaderPrint 设置是否输出日志内容的头部,默认为true。

func (*Logger) X设置是否输出级别

func (l *Logger) X设置是否输出级别(开启 bool)

SetLevelPrint 设置是否输出日志内容的级别字符串,默认为true。

func (*Logger) X设置级别

func (l *Logger) X设置级别(级别 int)

SetLevel 设置日志记录级别。 注意,对于日志内容,级别 `LEVEL_CRIT | LEVEL_PANI | LEVEL_FATA` 不能被移除, 这些级别会自动添加到现有级别中。

func (*Logger) X设置级别前缀

func (l *Logger) X设置级别前缀(级别 int, 前缀 string)

SetLevelPrefix 为指定等级设置前缀字符串。

func (*Logger) X设置级别前缀Map

func (l *Logger) X设置级别前缀Map(前缀Map map[int]string)

SetLevelPrefixes 为日志器设置级别到前缀字符串的映射。

func (*Logger) X设置配置Map

func (l *Logger) X设置配置Map(m map[string]interface{}) error

SetConfigWithMap 通过map设置日志器的配置。

func (*Logger) X设置配置项

func (l *Logger) X设置配置项(配置项 Config) error

SetConfig 为日志器设置配置。

func (*Logger) X设置额外标识

func (l *Logger) X设置额外标识(标识 int)

SetFlags 设置日志输出功能的额外标志。

func (*Logger) X输出

func (l *Logger) X输出(上下文 context.Context, 值 ...interface{})

Print 使用 fmt.Sprintln 函数打印变量 `v` 及其换行。参数 `v` 可以是多个变量。

func (*Logger) X输出CRIT

func (l *Logger) X输出CRIT(上下文 context.Context, 值 ...interface{})

Critical 以 [CRIT] 标头和换行符打印日志内容。 如果启用了堆栈追踪功能,还会打印调用堆栈信息。

func (*Logger) X输出DEBU

func (l *Logger) X输出DEBU(上下文 context.Context, 值 ...interface{})

Debug 以 [DEBU] 标头和换行符打印日志内容。

func (*Logger) X输出FATA

func (l *Logger) X输出FATA(上下文 context.Context, 值 ...interface{})

Fatal 打印带有[FATA]头部和换行符的日志内容,然后退出当前进程。

func (*Logger) X输出INFO

func (l *Logger) X输出INFO(上下文 context.Context, 值 ...interface{})

Info打印日志内容,前面带有[INFO]头部和换行符。

func (*Logger) X输出NOTI

func (l *Logger) X输出NOTI(上下文 context.Context, 值 ...interface{})

Notice 以 [NOTI] 标头和换行符打印日志内容。 如果启用了堆栈功能,还会打印调用堆栈信息。

func (*Logger) X输出PANI

func (l *Logger) X输出PANI(上下文 context.Context, 值 ...interface{})

Panic 会打印带有[PANI]头部和换行符的日志内容,然后触发 panic。

func (*Logger) X输出WARN

func (l *Logger) X输出WARN(上下文 context.Context, 值 ...interface{})

Warning 以 [WARN] 标头和换行符打印日志内容。 如果启用了堆栈功能,它还会打印调用者堆栈信息。

func (*Logger) X输出并格式化

func (l *Logger) X输出并格式化(上下文 context.Context, 格式 string, 值 ...interface{})

Printf 通过使用 fmt.Sprintf 格式化方法打印变量 `v`。 参数 `v` 可以是多个变量。

func (*Logger) X输出并格式化CRIT

func (l *Logger) X输出并格式化CRIT(上下文 context.Context, 格式 string, 值 ...interface{})

Criticalf以[CRIT]头部、自定义格式和换行符打印日志内容。 如果启用了堆栈追踪功能,它还会打印调用者堆栈信息。

func (*Logger) X输出并格式化DEBU

func (l *Logger) X输出并格式化DEBU(上下文 context.Context, 格式 string, 值 ...interface{})

Debugf按照[DEBU]头部,自定义格式及换行打印日志内容。

func (*Logger) X输出并格式化ERR

func (l *Logger) X输出并格式化ERR(上下文 context.Context, 格式 string, 值 ...interface{})

Errorf 函数以 [ERRO] 标头、自定义格式及换行符打印日志内容。 若启用了堆栈追踪功能,它还会打印调用者堆栈信息。

func (*Logger) X输出并格式化FATA

func (l *Logger) X输出并格式化FATA(上下文 context.Context, 格式 string, 值 ...interface{})

Fatalf 打印日志内容,其头部为[FATA],采用自定义格式,并在末尾添加换行符,然后退出当前进程。

func (*Logger) X输出并格式化INFO

func (l *Logger) X输出并格式化INFO(上下文 context.Context, 格式 string, 值 ...interface{})

Infof 格式化并打印日志内容,带有 [INFO] 标头、自定义格式及换行。 ```go Infof 根据提供的格式和参数,以 [INFO] 头部形式输出格式化信息,并在末尾添加换行。 示例用法: log.Infof("用户 %s 登录成功", username)

func (*Logger) X输出并格式化NOTI

func (l *Logger) X输出并格式化NOTI(上下文 context.Context, 格式 string, 值 ...interface{})

Noticef函数以[NOTI]头、自定义格式及换行符打印日志内容。 如果启用了堆栈追踪功能,它还会打印调用堆栈信息。

func (*Logger) X输出并格式化PANI

func (l *Logger) X输出并格式化PANI(上下文 context.Context, 格式 string, 值 ...interface{})

Panicf 函数会打印带有[PANI]头部、自定义格式以及换行符的日志内容,然后触发 panic。

func (*Logger) X输出并格式化WARN

func (l *Logger) X输出并格式化WARN(上下文 context.Context, 格式 string, 值 ...interface{})

Warningf函数会打印带有[WARN]头的记录内容,使用自定义格式并添加换行符。 如果启用了堆栈功能,它还会打印调用堆栈信息。

func (*Logger) X重定向输出

func (l *Logger) X重定向输出(writer io.Writer) *Logger

To 是一个链式函数, 它将当前日志内容输出重定向到指定的 `writer`。

Jump to

Keyboard shortcuts

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