Documentation
¶
Overview ¶
Package log 提供统一的 Logger 接口、全局默认日志器访问,以及基于标准库和 Logrus 的实现。
Logger 统一封装 Debug、Info、Warn、Error、Fatal、级别控制和结构化字段追加。 InitLogger 配置包级默认日志器,Debug、Info、Warn、Error、Fatal 等全局函数都委托到该实例; 若调用方未显式初始化,首次调用 GetLogger 或全局函数时会惰性创建一个输出到标准输出的 Std logger。 NewLogger 用于创建独立日志器,可通过 Option 选择 Std、Console 或 Logrus 实现, 并配置级别、输出路径、输出格式和日志轮转。JSONFormat 与 TextFormat 仅影响 Logrus 格式化; 当前 Logger 接口不提供 Close 方法,调用方也无法显式关闭文件型实现。
Index ¶
- func Debug(args ...interface{})
- func Debugf(format string, args ...interface{})
- func Error(args ...interface{})
- func Errorf(format string, args ...interface{})
- func Fatal(args ...interface{})
- func Fatalf(format string, args ...interface{})
- func Info(args ...interface{})
- func Infof(format string, args ...interface{})
- func InitLogger(options ...Option) error
- func SetLevel(level Level)
- func SetLogger(logger Logger)
- func Warn(args ...interface{})
- func Warnf(format string, args ...interface{})
- type Level
- type LogType
- type Logger
- type LoggerFormatType
- type LoggerOptions
- type LogrusLogger
- func (l *LogrusLogger) Debug(args ...interface{})
- func (l *LogrusLogger) Debugf(format string, args ...interface{})
- func (l *LogrusLogger) Error(args ...interface{})
- func (l *LogrusLogger) Errorf(format string, args ...interface{})
- func (l *LogrusLogger) Fatal(args ...interface{})
- func (l *LogrusLogger) Fatalf(format string, args ...interface{})
- func (l *LogrusLogger) GetLevel() Level
- func (l *LogrusLogger) Info(args ...interface{})
- func (l *LogrusLogger) Infof(format string, args ...interface{})
- func (l *LogrusLogger) SetLevel(level Level)
- func (l *LogrusLogger) Warn(args ...interface{})
- func (l *LogrusLogger) Warnf(format string, args ...interface{})
- func (l *LogrusLogger) WithField(key string, value interface{}) Logger
- func (l *LogrusLogger) WithFields(fields map[string]interface{}) Logger
- type LogrusLoggerOptions
- type LogrusOption
- func WithDirMode(mode os.FileMode) LogrusOption
- func WithFileMode(mode os.FileMode) LogrusOption
- func WithFormatter(formatter logrus.Formatter) LogrusOption
- func WithJSONFormatter(timestampFormat string, prettyPrint bool) LogrusOption
- func WithLogrusEnableRotate(enable bool) LogrusOption
- func WithLogrusLevel(level Level) LogrusOption
- func WithLogrusMaxAge(duration time.Duration) LogrusOption
- func WithLogrusRotateTime(duration time.Duration) LogrusOption
- func WithOutputPath(path string) LogrusOption
- func WithTextFormatter(timestampFormat string, fullTimestamp bool, disableColors bool) LogrusOption
- type Option
- func WithEnableRotate(enable bool) Option
- func WithFormatType(formatType LoggerFormatType) Option
- func WithLevel(level Level) Option
- func WithLogType(logType LogType) Option
- func WithMaxAge(duration time.Duration) Option
- func WithOutput(output string) Option
- func WithRotateTime(duration time.Duration) Option
- type StdLogger
- func (l *StdLogger) Debug(args ...interface{})
- func (l *StdLogger) Debugf(format string, args ...interface{})
- func (l *StdLogger) Error(args ...interface{})
- func (l *StdLogger) Errorf(format string, args ...interface{})
- func (l *StdLogger) Fatal(args ...interface{})
- func (l *StdLogger) Fatalf(format string, args ...interface{})
- func (l *StdLogger) GetLevel() Level
- func (l *StdLogger) Info(args ...interface{})
- func (l *StdLogger) Infof(format string, args ...interface{})
- func (l *StdLogger) SetLevel(level Level)
- func (l *StdLogger) Warn(args ...interface{})
- func (l *StdLogger) Warnf(format string, args ...interface{})
- func (l *StdLogger) WithField(key string, value interface{}) Logger
- func (l *StdLogger) WithFields(fields map[string]interface{}) Logger
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Debugf ¶
func Debugf(format string, args ...interface{})
Debugf 使用全局日志实例记录格式化的调试级别日志。
参数:
- format:格式化字符串。
- args:格式化参数。
func Errorf ¶
func Errorf(format string, args ...interface{})
Errorf 使用全局日志实例记录格式化的错误级别日志。
参数:
- format:格式化字符串。
- args:格式化参数。
func Fatal ¶
func Fatal(args ...interface{})
Fatal 使用全局日志实例记录致命错误级别的日志。 记录日志后会导致程序退出。
参数:
- args:要记录的内容,支持任意类型的值。
func Fatalf ¶
func Fatalf(format string, args ...interface{})
Fatalf 使用全局日志实例记录格式化的致命错误级别日志。 记录日志后会导致程序退出。
参数:
- format:格式化字符串。
- args:格式化参数。
func Infof ¶
func Infof(format string, args ...interface{})
Infof 使用全局日志实例记录格式化的信息级别日志。
参数:
- format:格式化字符串。
- args:格式化参数。
func InitLogger ¶
InitLogger 初始化包级全局日志实例。
未传入 options 时使用 NewLogger 的默认配置。初始化成功后会替换当前全局 Logger; 初始化失败时保持既有全局 Logger 不变。
参数:
- options:可选配置项,按传入顺序应用;未传入时使用默认配置。
返回:
- error:NewLogger 返回错误时包装并返回;成功时返回 nil。
func SetLevel ¶
func SetLevel(level Level)
SetLevel 设置全局日志级别。
参数:
- level:日志过滤级别,可选值包括 DebugLevel、InfoLevel、WarnLevel、ErrorLevel 和 FatalLevel。
Types ¶
type Level ¶
type Level int
Level 定义了日志的级别类型,用于控制日志的输出粒度。
const ( // DebugLevel 表示调试级别,用于记录详细的调试信息。 // 这个级别的日志通常只在开发环境启用。 DebugLevel Level = iota // InfoLevel 表示信息级别,用于记录正常的操作信息。 // 这个级别的日志用于跟踪应用的正常运行状态。 InfoLevel // WarnLevel 表示警告级别,用于记录可能的问题或异常情况。 // 这个级别的日志表示出现了值得注意的情况,但不影响系统的正常运行。 WarnLevel // ErrorLevel 表示错误级别,用于记录错误信息。 // 这个级别的日志表示出现了影响系统正常运行的错误。 ErrorLevel // FatalLevel 表示致命错误级别,记录后会导致程序退出。 // 这个级别的日志表示出现了无法恢复的严重错误。 FatalLevel )
func ParseLevel ¶
ParseLevel 从字符串解析日志级别。
参数:
- level:日志级别字符串,支持 debug、info、warn、error 和 fatal。
返回:
- Level:解析成功时返回对应日志级别;解析失败时返回 InfoLevel 作为回退值。
- error:level 不属于支持值时返回错误,错误消息包含未知级别字符串。
type LogType ¶
type LogType string
LogType 定义 NewLogger 可选择的日志实现类型。
可选值包括:
- LogTypeConsole:使用标准库日志并输出到标准输出。
- LogTypeStd:使用标准库日志,可写入标准输出或指定文件。
- LogTypeLogrus:使用 Logrus 日志实现,支持格式化和文件轮转配置。
type Logger ¶
type Logger interface {
// SetLevel 设置日志级别。
// 只有大于或等于设置级别的日志才会被记录。
//
// 参数:
// - level:要设置的日志级别。
SetLevel(level Level)
// GetLevel 获取当前的日志级别。
//
// 返回:
// - Level:当前的日志级别。
GetLevel() Level
// Debug 记录调试级别的日志。
// 参数 args 支持任意类型的值,这些值会被转换为字符串并连接。
// 调试日志应该包含有助于诊断问题的详细信息。
//
// 参数:
// - args:要记录的日志内容,支持多个参数。
Debug(args ...interface{})
// Debugf 记录格式化的调试级别日志。
// 参数 format 是格式化字符串,args 是对应的参数。
// 支持标准的 Printf 风格的格式化。
//
// 参数:
// - format:格式化字符串。
// - args:格式化参数。
Debugf(format string, args ...interface{})
// Info 记录信息级别的日志。
// 参数 args 支持任意类型的值,这些值会被转换为字符串并连接。
// 信息日志应该记录系统的正常运行状态。
//
// 参数:
// - args:要记录的日志内容,支持多个参数。
Info(args ...interface{})
// Infof 记录格式化的信息级别日志。
// 参数 format 是格式化字符串,args 是对应的参数。
// 支持标准的 Printf 风格的格式化。
//
// 参数:
// - format:格式化字符串。
// - args:格式化参数。
Infof(format string, args ...interface{})
// Warn 记录警告级别的日志。
// 参数 args 支持任意类型的值,这些值会被转换为字符串并连接。
// 警告日志应该包含可能导致问题的情况。
//
// 参数:
// - args:要记录的日志内容,支持多个参数。
Warn(args ...interface{})
// Warnf 记录格式化的警告级别日志。
// 参数 format 是格式化字符串,args 是对应的参数。
// 支持标准的 Printf 风格的格式化。
//
// 参数:
// - format:格式化字符串。
// - args:格式化参数。
Warnf(format string, args ...interface{})
// Error 记录错误级别的日志。
// 参数 args 支持任意类型的值,这些值会被转换为字符串并连接。
// 错误日志应该包含错误的详细信息和上下文。
//
// 参数:
// - args:要记录的日志内容,支持多个参数。
Error(args ...interface{})
// Errorf 记录格式化的错误级别日志。
// 参数 format 是格式化字符串,args 是对应的参数。
// 支持标准的 Printf 风格的格式化。
//
// 参数:
// - format:格式化字符串。
// - args:格式化参数。
Errorf(format string, args ...interface{})
// Fatal 记录致命错误级别的日志。
// 参数 args 支持任意类型的值,这些值会被转换为字符串并连接。
// 记录日志后会导致程序以状态码 1 退出。
// 这个方法应该只在程序无法继续运行时使用。
//
// 参数:
// - args:要记录的日志内容,支持多个参数。
Fatal(args ...interface{})
// Fatalf 记录格式化的致命错误级别日志。
// 参数 format 是格式化字符串,args 是对应的参数。
// 支持标准的 Printf 风格的格式化。
// 记录日志后会导致程序以状态码 1 退出。
//
// 参数:
// - format:格式化字符串。
// - args:格式化参数。
Fatalf(format string, args ...interface{})
// WithField 添加一个字段到日志上下文。
// 参数 key 是字段名,value 是字段值。
// 返回一个新的 Logger 实例,原实例不会被修改。
// 这个方法用于添加结构化的上下文信息到日志中。
//
// 参数:
// - key:字段名。
// - value:字段值。
//
// 返回:
// - Logger:新的日志实例。
WithField(key string, value interface{}) Logger
// WithFields 添加多个字段到日志上下文。
// 参数 fields 是要添加的字段映射。
// 返回一个新的 Logger 实例,原实例不会被修改。
// 这个方法用于一次性添加多个结构化字段。
//
// 参数:
// - fields:字段映射。
//
// 返回:
// - Logger:新的日志实例。
WithFields(fields map[string]interface{}) Logger
}
Logger 定义了统一的日志接口。 该接口提供了以下功能:
- 支持多个日志级别(Debug、Info、Warn、Error、Fatal)。
- 提供格式化和非格式化的日志记录方法。
- 支持结构化日志记录。
- 支持日志级别的动态调整。
- 提供上下文信息的添加和管理。
func GetLogger ¶
func GetLogger() Logger
GetLogger 获取包级全局日志实例。
如果尚未设置全局 Logger,GetLogger 会惰性创建默认日志实例并缓存;默认实例写入标准输出。 默认日志实例创建失败时会 panic。
参数:无。
返回:
- Logger:当前全局日志实例。
func NewLogger ¶ added in v0.0.2
NewLogger 创建一个新的日志实例。
未传入 options 时使用标准库日志实现、InfoLevel、标准输出、JSONFormat 以及 Logrus 轮转默认值。LogTypeConsole 会忽略 Output 并写入标准输出。
参数:
- options:可选配置项,按传入顺序应用;未传入时使用默认配置。
返回:
- Logger:初始化完成的日志实例。
- error:日志类型不受支持、文件输出路径创建失败、文件打开失败或 Logrus 轮转 writer 创建失败时返回错误。
func NewLogrusLogger ¶
func NewLogrusLogger(opts ...LogrusOption) (Logger, error)
NewLogrusLogger 创建一个新的 LogrusLogger 实例。
参数:
- opts:可选的配置选项列表,用于自定义日志记录器的行为。
返回:
- Logger:返回创建的日志实例。
- error:返回创建过程中可能发生的错误。
func NewStdLogger ¶
NewStdLogger 创建一个新的 StdLogger 实例。
参数:
- output:日志文件的路径,如果为空则输出到标准输出。
返回值:
- Logger:返回创建的日志实例。
- error:返回创建过程中可能发生的错误。
func WithField ¶
WithField 使用全局日志实例添加一个结构化字段。
参数:
- key:字段名。
- value:字段值。
返回:
- Logger:返回一个新的 Logger 实例,包含添加的字段。
func WithFields ¶
WithFields 使用全局日志实例添加多个结构化字段。
参数:
- fields:要添加的字段映射。
返回:
- Logger:返回一个新的 Logger 实例,包含添加的字段。
type LoggerFormatType ¶ added in v0.0.4
type LoggerFormatType string
LoggerFormatType 定义 Logrus 日志输出格式。
可选值包括:
- TextFormat:使用 logrus.TextFormatter 输出文本日志。
- JSONFormat:使用 logrus.JSONFormatter 输出 JSON 日志。
const ( // TextFormat 表示文本格式的日志输出。 TextFormat LoggerFormatType = "text" // JSONFormat 表示 JSON 格式的日志输出。 JSONFormat LoggerFormatType = "json" )
type LoggerOptions ¶ added in v0.0.2
type LoggerOptions struct {
// Type 指定日志实现类型。可选值包括:
// - LogTypeConsole:使用标准库日志并输出到标准输出。
// - LogTypeStd:使用标准库日志,可写入标准输出或指定文件。
// - LogTypeLogrus:使用 Logrus 日志实现,支持格式化和文件轮转配置。
Type LogType
// Level 指定日志过滤级别。可选值包括:
// - DebugLevel:输出调试及以上级别日志。
// - InfoLevel:输出信息及以上级别日志。
// - WarnLevel:输出警告及以上级别日志。
// - ErrorLevel:输出错误及以上级别日志。
// - FatalLevel:输出致命错误日志。
Level Level
// Output 指定日志文件路径。空字符串表示写入标准输出。
Output string
// EnableRotate 控制 Logrus 文件输出是否启用日志轮转。
EnableRotate bool
// RotateTime 指定 Logrus 日志轮转周期。零值会传递给底层轮转实现。
RotateTime time.Duration
// MaxAge 指定 Logrus 轮转日志的最大保留时间。零值表示由底层实现处理。
MaxAge time.Duration
// FormatType 指定 Logrus 输出格式。
//
// 可选值包括:
// - TextFormat:使用文本格式输出。
// - JSONFormat:使用 JSON 格式输出。
FormatType LoggerFormatType
}
LoggerOptions 定义 NewLogger 使用的日志配置。
零值会在 NewLogger 中与默认配置合并使用。Output 为空时输出到标准输出; EnableRotate、RotateTime、MaxAge 和 FormatType 主要影响 Logrus 实现。
type LogrusLogger ¶
type LogrusLogger struct {
// contains filtered or unexported fields
}
LogrusLogger 实现了 Logger 接口,使用 Logrus 作为底层日志库。 这个实现提供了丰富的日志功能,包括:
- 结构化日志记录。
- 多种输出格式(文本、JSON)。
- 灵活的日志级别控制。
- 支持同时输出到多个目标。
func (*LogrusLogger) Debug ¶
func (l *LogrusLogger) Debug(args ...interface{})
Debug 实现 Logger 接口的调试级别日志记录。
参数:
- args:要记录的内容,支持任意类型的值。
func (*LogrusLogger) Debugf ¶
func (l *LogrusLogger) Debugf(format string, args ...interface{})
Debugf 实现 Logger 接口的格式化调试级别日志记录。
参数:
- format:格式化字符串。
- args:格式化参数。
func (*LogrusLogger) Error ¶
func (l *LogrusLogger) Error(args ...interface{})
Error 实现 Logger 接口的错误级别日志记录。
参数:
- args:要记录的内容,支持任意类型的值。
func (*LogrusLogger) Errorf ¶
func (l *LogrusLogger) Errorf(format string, args ...interface{})
Errorf 实现 Logger 接口的格式化错误级别日志记录。
参数:
- format:格式化字符串。
- args:格式化参数。
func (*LogrusLogger) Fatal ¶
func (l *LogrusLogger) Fatal(args ...interface{})
Fatal 实现 Logger 接口的致命错误级别日志记录。 记录日志后会导致程序以状态码 1 退出。
参数:
- args:要记录的内容,支持任意类型的值。
func (*LogrusLogger) Fatalf ¶
func (l *LogrusLogger) Fatalf(format string, args ...interface{})
Fatalf 实现 Logger 接口的格式化致命错误级别日志记录。 记录日志后会导致程序以状态码 1 退出。
参数:
- format:格式化字符串。
- args:格式化参数。
func (*LogrusLogger) GetLevel ¶
func (l *LogrusLogger) GetLevel() Level
GetLevel 实现 Logger 接口的日志级别获取方法。
返回:
- Level:返回当前日志记录器的日志级别。
func (*LogrusLogger) Info ¶
func (l *LogrusLogger) Info(args ...interface{})
Info 实现 Logger 接口的信息级别日志记录。
参数:
- args:要记录的内容,支持任意类型的值。
func (*LogrusLogger) Infof ¶
func (l *LogrusLogger) Infof(format string, args ...interface{})
Infof 实现 Logger 接口的格式化信息级别日志记录。
参数:
- format:格式化字符串。
- args:格式化参数。
func (*LogrusLogger) SetLevel ¶
func (l *LogrusLogger) SetLevel(level Level)
SetLevel 实现 Logger 接口的日志级别设置方法。
参数:
- level:日志过滤级别;未知级别会被忽略并保持当前 Logrus 级别不变。
func (*LogrusLogger) Warn ¶
func (l *LogrusLogger) Warn(args ...interface{})
Warn 实现 Logger 接口的警告级别日志记录。
参数:
- args:要记录的内容,支持任意类型的值。
func (*LogrusLogger) Warnf ¶
func (l *LogrusLogger) Warnf(format string, args ...interface{})
Warnf 实现 Logger 接口的格式化警告级别日志记录。
参数:
- format:格式化字符串。
- args:格式化参数。
func (*LogrusLogger) WithField ¶
func (l *LogrusLogger) WithField(key string, value interface{}) Logger
WithField 实现 Logger 接口的单字段添加方法。
参数:
- key:字段名。
- value:字段值。
返回:
- Logger:返回一个包含新字段的新 Logger 实例。
func (*LogrusLogger) WithFields ¶
func (l *LogrusLogger) WithFields(fields map[string]interface{}) Logger
WithFields 实现 Logger 接口的多字段添加方法。
参数:
- fields:要添加的字段映射。
返回:
- Logger:返回一个包含新字段的新 Logger 实例。
type LogrusLoggerOptions ¶ added in v0.0.2
type LogrusLoggerOptions struct {
// OutputPath 指定日志文件路径。空字符串表示保留 Logrus 默认 stderr 输出。
OutputPath string
// Formatter 指定 Logrus 日志格式化器。nil 会传递给 Logrus 并由调用方承担后续使用风险。
Formatter logrus.Formatter
// Level 指定 Logrus 日志过滤级别。
Level logrus.Level
// FileMode 指定禁用轮转时创建日志文件使用的权限模式。
FileMode os.FileMode
// DirMode 指定创建日志目录使用的权限模式。
DirMode os.FileMode
// EnableRotate 控制文件输出是否使用 rotatelogs 轮转 writer。
EnableRotate bool
// RotateTime 指定启用轮转时的日志轮转周期。
RotateTime time.Duration
// MaxAge 指定启用轮转时旧日志文件的最大保留时间。
MaxAge time.Duration
}
LogrusLoggerOptions 包含了 LogrusLogger 的所有配置选项。
type LogrusOption ¶ added in v0.0.2
type LogrusOption func(*LogrusLoggerOptions)
LogrusOption 定义了 LogrusLogger 的配置选项函数类型。
func WithDirMode ¶ added in v0.0.2
func WithDirMode(mode os.FileMode) LogrusOption
WithDirMode 设置日志目录权限。
参数:
- mode:日志目录的权限模式,使用八进制表示,例如:0755。
返回:
- LogrusOption:返回一个配置选项函数。
func WithFileMode ¶ added in v0.0.2
func WithFileMode(mode os.FileMode) LogrusOption
WithFileMode 设置日志文件权限。
参数:
- mode:日志文件的权限模式,使用八进制表示,例如:0666。
返回:
- LogrusOption:返回一个配置选项函数。
func WithFormatter ¶ added in v0.0.2
func WithFormatter(formatter logrus.Formatter) LogrusOption
WithFormatter 设置日志格式化器。
参数:
- formatter:自定义的日志格式化器实例,用于控制日志的输出格式。
返回:
- LogrusOption:返回一个配置选项函数。
func WithJSONFormatter ¶ added in v0.0.4
func WithJSONFormatter(timestampFormat string, prettyPrint bool) LogrusOption
WithJSONFormatter 设置 JSON 格式化器的选项。
参数:
- timestampFormat:时间戳的格式化模板,例如:"2006-01-02 15:04:05"。
- prettyPrint:是否美化 JSON 输出格式,true 表示美化,false 表示单行输出。
返回:
- LogrusOption:返回一个配置选项函数。
func WithLogrusEnableRotate ¶ added in v0.0.2
func WithLogrusEnableRotate(enable bool) LogrusOption
WithLogrusEnableRotate 设置是否启用日志滚动。
参数:
- enable:是否启用日志滚动功能,true 表示启用,false 表示禁用。
返回:
- LogrusOption:返回一个配置选项函数。
func WithLogrusLevel ¶ added in v0.0.2
func WithLogrusLevel(level Level) LogrusOption
WithLogrusLevel 设置 Logrus 日志过滤级别。
参数:
- level:日志过滤级别,可选值包括 DebugLevel、InfoLevel、WarnLevel、ErrorLevel 和 FatalLevel。
返回:
- LogrusOption:应用于 LogrusLoggerOptions 的配置选项;未知级别会保持当前 Logrus 级别不变。
func WithLogrusMaxAge ¶ added in v0.0.2
func WithLogrusMaxAge(duration time.Duration) LogrusOption
WithLogrusMaxAge 设置日志保留时间。
参数:
- duration:日志文件的最大保留时间,超过这个时间的日志文件会被自动删除。
返回:
- LogrusOption:返回一个配置选项函数。
func WithLogrusRotateTime ¶ added in v0.0.2
func WithLogrusRotateTime(duration time.Duration) LogrusOption
WithLogrusRotateTime 设置日志滚动时间间隔。
参数:
- duration:日志滚动的时间间隔,例如:time.Hour 表示每小时滚动一次。
返回:
- LogrusOption:返回一个配置选项函数。
func WithOutputPath ¶ added in v0.0.2
func WithOutputPath(path string) LogrusOption
WithOutputPath 设置日志输出路径。
参数:
- path:日志文件路径,支持绝对路径和相对路径;空字符串表示保留 Logrus 默认 stderr 输出。
返回:
- LogrusOption:应用于 LogrusLoggerOptions 的配置选项。
func WithTextFormatter ¶ added in v0.0.4
func WithTextFormatter(timestampFormat string, fullTimestamp bool, disableColors bool) LogrusOption
WithTextFormatter 设置文本格式化器的选项。
参数:
- timestampFormat:时间戳的格式化模板,例如:"2006-01-02 15:04:05"。
- fullTimestamp:是否显示完整时间戳,true 表示显示完整时间戳,false 表示显示相对时间。
- disableColors:是否禁用控制台颜色输出,true 表示禁用颜色,false 表示启用颜色。
返回:
- LogrusOption:返回一个配置选项函数。
type Option ¶ added in v0.0.2
type Option func(*LoggerOptions)
Option 定义日志配置修改函数。
参数:
- *LoggerOptions:待修改的日志配置,调用方应保证其非 nil。
func WithEnableRotate ¶ added in v0.0.2
WithEnableRotate 设置 Logrus 文件输出是否启用日志轮转。
参数:
- enable:是否启用日志轮转;true 表示启用,false 表示禁用。
返回:
- Option:应用于 LoggerOptions 的配置选项。
func WithFormatType ¶ added in v0.0.4
func WithFormatType(formatType LoggerFormatType) Option
WithFormatType 设置 Logrus 日志输出格式类型。
参数:
- formatType:日志输出格式类型,可选值包括:
- TextFormat:使用文本格式输出日志。
- JSONFormat:使用 JSON 格式输出日志。
返回:
- Option:应用于 LoggerOptions 的配置选项。
func WithLevel ¶ added in v0.0.2
WithLevel 设置日志过滤级别。
参数:
- level:日志过滤级别,可选值包括:
- DebugLevel:输出调试及以上级别日志。
- InfoLevel:输出信息及以上级别日志。
- WarnLevel:输出警告及以上级别日志。
- ErrorLevel:输出错误及以上级别日志。
- FatalLevel:输出致命错误日志。
返回:
- Option:应用于 LoggerOptions 的配置选项。
func WithLogType ¶ added in v0.0.2
WithLogType 设置 NewLogger 使用的日志实现类型。
参数:
- logType:日志实现类型,可选值包括:
- LogTypeConsole:使用标准库日志并强制输出到标准输出。
- LogTypeStd:使用标准库日志,可按 Output 写入文件或标准输出。
- LogTypeLogrus:使用 Logrus 日志实现,支持格式化和文件轮转配置。
返回:
- Option:应用于 LoggerOptions 的配置选项。
func WithMaxAge ¶ added in v0.0.2
WithMaxAge 设置 Logrus 轮转日志文件的最大保留时间。
参数:
- duration:轮转日志文件的最大保留时间,传递给底层 rotatelogs 实现。
返回:
- Option:应用于 LoggerOptions 的配置选项。
func WithOutput ¶ added in v0.0.2
WithOutput 设置日志输出路径。
参数:
- output:日志文件路径;空字符串表示输出到标准输出。
返回:
- Option:应用于 LoggerOptions 的配置选项。
func WithRotateTime ¶ added in v0.0.2
WithRotateTime 设置 Logrus 文件输出的日志轮转周期。
参数:
- duration:日志轮转周期,传递给底层 rotatelogs 实现。
返回:
- Option:应用于 LoggerOptions 的配置选项。
type StdLogger ¶
type StdLogger struct {
// contains filtered or unexported fields
}
StdLogger 实现了 Logger 接口,使用 Go 标准库的 log 包作为底层实现。 这个实现提供了基本的日志功能: - 支持不同的日志级别。 - 支持结构化字段。 - 支持文件输出。 - 支持格式化日志。
func (*StdLogger) Debug ¶
func (l *StdLogger) Debug(args ...interface{})
Debug 实现 Logger 接口的调试级别日志记录。
参数:
- args:要记录的内容,支持任意类型的值。
func (*StdLogger) Error ¶
func (l *StdLogger) Error(args ...interface{})
Error 实现 Logger 接口的错误级别日志记录。
参数:
- args:要记录的内容,支持任意类型的值。
func (*StdLogger) Fatal ¶
func (l *StdLogger) Fatal(args ...interface{})
Fatal 实现 Logger 接口的致命错误级别日志记录。 记录日志后会导致程序以状态码 1 退出。
参数:
- args:要记录的内容,支持任意类型的值。
func (*StdLogger) Fatalf ¶
Fatalf 实现 Logger 接口的格式化致命错误级别日志记录。 记录日志后会导致程序以状态码 1 退出。
参数:
- format:格式化字符串。
- args:格式化参数。
func (*StdLogger) Info ¶
func (l *StdLogger) Info(args ...interface{})
Info 实现 Logger 接口的信息级别日志记录。
参数:
- args:要记录的内容,支持任意类型的值。
func (*StdLogger) Warn ¶
func (l *StdLogger) Warn(args ...interface{})
Warn 实现 Logger 接口的警告级别日志记录。
参数:
- args:要记录的内容,支持任意类型的值。
func (*StdLogger) WithField ¶
WithField 实现 Logger 接口的单字段添加方法。
参数:
- key:字段名。
- value:字段值。
返回值:
- Logger:返回一个包含新字段的新 Logger 实例。
func (*StdLogger) WithFields ¶
WithFields 实现 Logger 接口的多字段添加方法。
参数:
- fields:要添加的字段映射。
返回值:
- Logger:返回一个包含所有字段的新 Logger 实例。