log

package
v0.0.7 Latest Latest
Warning

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

Go to latest
Published: Mar 15, 2025 License: MIT Imports: 8 Imported by: 1

README

Log 包

log 包提供了一个统一的日志接口和多种日志实现,支持结构化日志记录和多个日志级别。

特性

  • 统一的日志接口
  • 多种日志后端支持(标准输出、Logrus)
  • 结构化日志记录
  • 多个日志级别(Debug、Info、Warn、Error、Fatal)
  • 支持文件和标准输出
  • 支持字段注入和上下文
  • 支持日志滚动(按时间自动切分)
  • 支持多种输出格式(行日志、JSON)
  • 支持编译时配置(如时间格式等)

快速开始

基本使用
package main

import "github.com/fsyyft-go/kit/log"

func main() {
    // 初始化标准输出日志
    if err := log.InitLogger(log.WithLogType(log.LogTypeStd)); err != nil {
        panic(err)
    }

    // 记录不同级别的日志
    log.Debug("这是一条调试日志")
    log.Info("这是一条信息日志")
    log.Warn("这是一条警告日志")
    log.Error("这是一条错误日志")
}
结构化日志
// 添加单个字段
log.WithField("user", "admin").Info("用户登录")

// 添加多个字段
log.WithFields(map[string]interface{}{
    "user": "admin",
    "ip":   "192.168.1.1",
}).Info("用户登录")
使用 Logrus 后端

Logrus 后端默认使用 JSON 格式输出,可以通过配置更改为行日志格式:

// 初始化 Logrus 日志(默认 JSON 格式)
if err := log.InitLogger(
    log.WithLogType(log.LogTypeLogrus),
    log.WithOutput("/path/to/log/file.log"),
); err != nil {
    panic(err)
}

// 使用行日志格式
if err := log.InitLogger(
    log.WithLogType(log.LogTypeLogrus),
    log.WithOutput("/path/to/log/file.log"),
    log.WithFormat(log.FormatText),
); err != nil {
    panic(err)
}

注意:日志格式(JSON/行日志)和日志滚动功能仅在使用 Logrus 后端时可用。

编译时配置

在使用 Logrus 后端时,以下配置项可以在编译时通过 -X 链接标志指定:

package log

var (
    // timestampFormat 定义时间戳格式
    timestampFormat = "2006-01-02 15:04:05"
    
    // disableColors 控制是否禁用颜色输出
    disableColors = false
    
    // fullTimestamp 控制是否使用完整时间戳
    fullTimestamp = true
    
    // prettyPrint 控制是否美化输出(仅在 JSON 格式下有效)
    prettyPrint = false
)

可以在编译时使用 -X 标志设置这些变量的值:

# 设置时间格式
go build -ldflags "-X 'github.com/fsyyft-go/kit/log.timestampFormat=2006/01/02-15:04:05'"

# 设置多个变量
go build -ldflags "
    -X 'github.com/fsyyft-go/kit/log.timestampFormat=2006/01/02-15:04:05'
    -X 'github.com/fsyyft-go/kit/log.disableColors=true'
    -X 'github.com/fsyyft-go/kit/log.fullTimestamp=true'
    -X 'github.com/fsyyft-go/kit/log.prettyPrint=true'
"

注意:这些配置项仅在使用 Logrus 后端时生效。其中:

  • timestampFormat:定义日志中时间戳的格式
  • disableColors:设置为 true 时禁用终端颜色输出
  • fullTimestamp:设置为 true 时使用完整时间戳,false 时使用相对时间
  • prettyPrint:设置为 true 时美化 JSON 输出格式(仅在 JSON 格式下有效)
使用日志滚动功能

日志滚动功能默认启用,配置如下:

  • 默认每小时滚动一次
  • 默认保留7天的日志
  • 自动创建软链接到最新日志文件

日志文件命名规则:

  • 原始文件名:app.log
  • 滚动后的文件名:app-2024031510.log(表示2024年3月15日10点的日志)
  • 软链接:始终保持原始文件名(app.log),指向最新的日志文件

如果需要自定义配置,可以使用以下选项:

// 自定义日志滚动配置
if err := log.InitLogger(
    log.WithLogType(log.LogTypeLogrus),
    log.WithOutput("/path/to/log/app.log"),
    log.WithLevel(log.InfoLevel),
    log.WithRotateTime(time.Minute * 30),    // 每30分钟滚动一次
    log.WithMaxAge(time.Hour*24*30),         // 保留30天的日志
); err != nil {
    panic(err)
}

如果需要禁用日志滚动功能:

if err := log.InitLogger(
    log.WithLogType(log.LogTypeLogrus),
    log.WithOutput("/path/to/log/app.log"),
    log.WithEnableRotate(false),             // 禁用日志滚动
); err != nil {
    panic(err)
}

日志滚动功能特性:

  • 支持按时间自动切分日志文件(默认每小时一个)
  • 可配置日志滚动时间间隔
  • 可配置日志文件保留时间(默认7天)
  • 自动清理过期日志文件
  • 支持软链接到最新日志文件

注意:日志滚动功能仅在使用 Logrus 后端时可用。

日志级别

  • Debug: 调试信息,用于开发环境
  • Info: 一般信息,用于记录正常操作
  • Warn: 警告信息,表示可能的问题
  • Error: 错误信息,表示操作失败
  • Fatal: 致命错误,记录后程序会退出

配置示例

设置日志级别
logger := log.GetLogger()
logger.SetLevel(log.InfoLevel) // 只记录 Info 及以上级别的日志
获取当前日志级别
level := logger.GetLevel()

更多示例

更多使用示例请参考 example/log 目录,其中包含了:

  • 不同输出格式(JSON/行日志)的使用
  • 编译时配置的示例
  • 日志滚动的完整示例
  • 各种日志级别的使用方式

最佳实践

  1. 合理使用日志级别

    • Debug: 仅在开发环境使用
    • Info: 记录重要的业务操作
    • Warn: 记录潜在问题
    • Error: 记录错误但不影响系统运行
    • Fatal: 仅在系统无法继续运行时使用
  2. 结构化日志

    • 使用 WithField/WithFields 添加上下文信息
    • 保持字段名称的一致性
    • 避免在日志中包含敏感信息
  3. 性能考虑

    • 在高性能场景下,使用 Debug 级别前先检查级别
    • 避免在热点代码路径中过度记录日志
    • JSON 格式输出可能比行日志格式有更多的性能开销

贡献

欢迎提交 Issue 和 Pull Request 来帮助改进这个包。

许可证

本项目采用 Apache License 2.0 许可证。详见 LICENSE 文件。

Documentation

Overview

Package log 提供了全局日志功能,支持多种日志后端的统一管理。

Package log 提供了一个统一的日志接口和多种日志实现。

这个包的主要特性包括:

  • 支持多种日志后端(标准输出、Logrus)。
  • 提供统一的日志接口。
  • 支持结构化日志记录。
  • 支持多个日志级别。
  • 支持文件和标准输出。
  • 支持函数式配置选项。

基本使用示例:

// 使用默认配置初始化日志
if err := log.InitLogger(); err != nil {
    panic(err)
}

// 使用自定义配置初始化日志
if err := log.InitLogger(
    log.WithLogType(log.LogTypeLogrus),
    log.WithLevel(log.DebugLevel),
    log.WithOutput("/var/log/app.log"),
); err != nil {
    panic(err)
}

// 使用日志功能
log.Info("应用启动")
log.WithField("user", "admin").Info("用户登录")

也可以直接创建日志实例:

logger, err := log.NewLogger(
    log.WithLogType(log.LogTypeStd),
    log.WithLevel(log.DebugLevel),
)
if err != nil {
    panic(err)
}
logger.Info("使用独立的日志实例")

更多示例请参考 example/log 目录。

Package log 提供了基于 Logrus 的日志实现。

Package log 提供了基于标准库的日志实现。

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Debug

func Debug(args ...interface{})

Debug 使用全局日志实例记录调试级别的日志。

func Debugf

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

Debugf 使用全局日志实例记录格式化的调试级别日志。

func Error

func Error(args ...interface{})

Error 使用全局日志实例记录错误级别的日志。

func Errorf

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

Errorf 使用全局日志实例记录格式化的错误级别日志。

func Fatal

func Fatal(args ...interface{})

Fatal 使用全局日志实例记录致命错误级别的日志。 记录日志后会导致程序退出。

func Fatalf

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

Fatalf 使用全局日志实例记录格式化的致命错误级别日志。 记录日志后会导致程序退出。

func Info

func Info(args ...interface{})

Info 使用全局日志实例记录信息级别的日志。

func Infof

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

Infof 使用全局日志实例记录格式化的信息级别日志。

func InitLogger

func InitLogger(options ...Option) error

InitLogger 初始化全局日志实例。 使用可选的配置选项来配置日志行为。 如果没有提供任何选项,将使用默认配置:

  • 日志类型:LogTypeStd
  • 日志级别:InfoLevel
  • 输出路径:标准输出

返回初始化过程中可能发生的错误。

func SetLevel

func SetLevel(level Level)

SetLevel 设置全局日志级别。

func SetLogger

func SetLogger(logger Logger)

SetLogger 设置全局日志实例。

func Warn

func Warn(args ...interface{})

Warn 使用全局日志实例记录警告级别的日志。

func Warnf

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

Warnf 使用全局日志实例记录格式化的警告级别日志。

Types

type Level

type Level int

Level 定义了日志的级别类型,用于控制日志的输出粒度。

const (
	// DebugLevel 表示调试级别,用于记录详细的调试信息。
	// 这个级别的日志通常只在开发环境启用。
	DebugLevel Level = iota

	// InfoLevel 表示信息级别,用于记录正常的操作信息。
	// 这个级别的日志用于跟踪应用的正常运行状态。
	InfoLevel

	// WarnLevel 表示警告级别,用于记录可能的问题或异常情况。
	// 这个级别的日志表示出现了值得注意的情况,但不影响系统的正常运行。
	WarnLevel

	// ErrorLevel 表示错误级别,用于记录错误信息。
	// 这个级别的日志表示出现了影响系统正常运行的错误。
	ErrorLevel

	// FatalLevel 表示致命错误级别,记录后会导致程序退出。
	// 这个级别的日志表示出现了无法恢复的严重错误。
	FatalLevel
)

func GetLevel

func GetLevel() Level

GetLevel 获取全局日志级别。

func ParseLevel

func ParseLevel(level string) (Level, error)

ParseLevel 从字符串解析日志级别。

func (Level) String

func (l Level) String() string

String 返回日志级别的字符串表示。

type LogType

type LogType string

LogType 定义了支持的日志类型,用于在初始化时选择具体的日志实现。

const (
	// LogTypeConsole 表示控制台日志类型。
	// 这种类型的日志会直接输出到标准输出,适合开发调试使用。
	LogTypeConsole LogType = "console"

	// LogTypeStd 表示标准库日志类型。
	// 使用 Go 标准库的 log 包实现,提供基本的日志功能。
	LogTypeStd LogType = "std"

	// LogTypeLogrus 表示 Logrus 日志类型。
	// 使用 Logrus 库实现,提供丰富的日志功能,包括结构化日志、多种输出格式等。
	LogTypeLogrus LogType = "logrus"
)

type Logger

type Logger interface {
	// SetLevel 设置日志级别。
	// 只有大于或等于设置级别的日志才会被记录。
	SetLevel(level Level)

	// GetLevel 获取当前的日志级别。
	GetLevel() Level

	// Debug 记录调试级别的日志。
	// 参数 args 支持任意类型的值,这些值会被转换为字符串并连接。
	// 调试日志应该包含有助于诊断问题的详细信息。
	Debug(args ...interface{})

	// Debugf 记录格式化的调试级别日志。
	// 参数 format 是格式化字符串,args 是对应的参数。
	// 支持标准的 Printf 风格的格式化。
	Debugf(format string, args ...interface{})

	// Info 记录信息级别的日志。
	// 参数 args 支持任意类型的值,这些值会被转换为字符串并连接。
	// 信息日志应该记录系统的正常运行状态。
	Info(args ...interface{})

	// Infof 记录格式化的信息级别日志。
	// 参数 format 是格式化字符串,args 是对应的参数。
	// 支持标准的 Printf 风格的格式化。
	Infof(format string, args ...interface{})

	// Warn 记录警告级别的日志。
	// 参数 args 支持任意类型的值,这些值会被转换为字符串并连接。
	// 警告日志应该包含可能导致问题的情况。
	Warn(args ...interface{})

	// Warnf 记录格式化的警告级别日志。
	// 参数 format 是格式化字符串,args 是对应的参数。
	// 支持标准的 Printf 风格的格式化。
	Warnf(format string, args ...interface{})

	// Error 记录错误级别的日志。
	// 参数 args 支持任意类型的值,这些值会被转换为字符串并连接。
	// 错误日志应该包含错误的详细信息和上下文。
	Error(args ...interface{})

	// Errorf 记录格式化的错误级别日志。
	// 参数 format 是格式化字符串,args 是对应的参数。
	// 支持标准的 Printf 风格的格式化。
	Errorf(format string, args ...interface{})

	// Fatal 记录致命错误级别的日志。
	// 参数 args 支持任意类型的值,这些值会被转换为字符串并连接。
	// 记录日志后会导致程序以状态码 1 退出。
	// 这个方法应该只在程序无法继续运行时使用。
	Fatal(args ...interface{})

	// Fatalf 记录格式化的致命错误级别日志。
	// 参数 format 是格式化字符串,args 是对应的参数。
	// 支持标准的 Printf 风格的格式化。
	// 记录日志后会导致程序以状态码 1 退出。
	Fatalf(format string, args ...interface{})

	// WithField 添加一个字段到日志上下文。
	// 参数 key 是字段名,value 是字段值。
	// 返回一个新的 Logger 实例,原实例不会被修改。
	// 这个方法用于添加结构化的上下文信息到日志中。
	WithField(key string, value interface{}) Logger

	// WithFields 添加多个字段到日志上下文。
	// 参数 fields 是要添加的字段映射。
	// 返回一个新的 Logger 实例,原实例不会被修改。
	// 这个方法用于一次性添加多个结构化字段。
	WithFields(fields map[string]interface{}) Logger
}

Logger 定义了统一的日志接口。 这个接口提供了基本的日志记录功能和结构化日志支持,可以通过不同的实现来支持不同的日志后端。

func GetLogger

func GetLogger() Logger

GetLogger 获取全局日志实例。 如果全局日志实例未设置,则返回一个默认的标准输出日志实例。

func NewLogger added in v0.0.2

func NewLogger(options ...Option) (Logger, error)

NewLogger 创建一个新的日志实例。 使用可选的配置选项来配置日志行为。

func NewLogrusLogger

func NewLogrusLogger(opts ...LogrusOption) (Logger, error)

NewLogrusLogger 创建一个新的 LogrusLogger 实例。 opts:可选的配置选项列表,用于自定义日志记录器的行为。

func NewStdLogger

func NewStdLogger(output string) (Logger, error)

NewStdLogger 创建一个新的 StdLogger 实例。 参数 output 指定日志文件的路径,如果为空则输出到标准输出。 返回一个实现了 Logger 接口的实例和可能的错误。

func WithField

func WithField(key string, value interface{}) Logger

WithField 使用全局日志实例添加一个结构化字段。 返回一个新的 Logger 实例,包含添加的字段。

func WithFields

func WithFields(fields map[string]interface{}) Logger

WithFields 使用全局日志实例添加多个结构化字段。 返回一个新的 Logger 实例,包含添加的字段。

type LoggerFormatType added in v0.0.4

type LoggerFormatType string

LoggerFormatType 定义了日志输出格式的类型。

const (
	// TextFormat 表示文本格式的日志输出。
	TextFormat LoggerFormatType = "text"
	// JSONFormat 表示 JSON 格式的日志输出。
	JSONFormat LoggerFormatType = "json"
)

type LoggerOptions added in v0.0.2

type LoggerOptions struct {
	// Type 指定日志实现类型。
	Type LogType

	// Level 指定日志级别。
	Level Level

	// Output 指定日志输出路径。
	Output string

	// EnableRotate 是否启用日志滚动。
	EnableRotate bool

	// RotateTime 日志滚动时间间隔。
	RotateTime time.Duration

	// MaxAge 日志保留时间。
	MaxAge time.Duration

	// FormatType 指定日志输出格式类型。
	FormatType LoggerFormatType
}

LoggerOptions 定义了日志配置选项。

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 接口的调试级别日志记录。

func (*LogrusLogger) Debugf

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

Debugf 实现 Logger 接口的格式化调试级别日志记录。

func (*LogrusLogger) Error

func (l *LogrusLogger) Error(args ...interface{})

Error 实现 Logger 接口的错误级别日志记录。

func (*LogrusLogger) Errorf

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

Errorf 实现 Logger 接口的格式化错误级别日志记录。

func (*LogrusLogger) Fatal

func (l *LogrusLogger) Fatal(args ...interface{})

Fatal 实现 Logger 接口的致命错误级别日志记录。 记录日志后会导致程序以状态码 1 退出。

func (*LogrusLogger) Fatalf

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

Fatalf 实现 Logger 接口的格式化致命错误级别日志记录。 记录日志后会导致程序以状态码 1 退出。

func (*LogrusLogger) GetLevel

func (l *LogrusLogger) GetLevel() Level

GetLevel 实现 Logger 接口的日志级别获取方法。

func (*LogrusLogger) Info

func (l *LogrusLogger) Info(args ...interface{})

Info 实现 Logger 接口的信息级别日志记录。

func (*LogrusLogger) Infof

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

Infof 实现 Logger 接口的格式化信息级别日志记录。

func (*LogrusLogger) SetLevel

func (l *LogrusLogger) SetLevel(level Level)

SetLevel 实现 Logger 接口的日志级别设置方法。

func (*LogrusLogger) Warn

func (l *LogrusLogger) Warn(args ...interface{})

Warn 实现 Logger 接口的警告级别日志记录。

func (*LogrusLogger) Warnf

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

Warnf 实现 Logger 接口的格式化警告级别日志记录。

func (*LogrusLogger) WithField

func (l *LogrusLogger) WithField(key string, value interface{}) Logger

WithField 实现 Logger 接口的单字段添加方法。 返回一个包含新字段的新 Logger 实例。

func (*LogrusLogger) WithFields

func (l *LogrusLogger) WithFields(fields map[string]interface{}) Logger

WithFields 实现 Logger 接口的多字段添加方法。 返回一个包含新字段的新 Logger 实例。

type LogrusLoggerOptions added in v0.0.2

type LogrusLoggerOptions struct {
	// 输出文件路径。
	OutputPath string
	// 日志格式化器。
	Formatter logrus.Formatter
	// 日志级别。
	Level logrus.Level
	// 文件权限。
	FileMode os.FileMode
	// 目录权限。
	DirMode os.FileMode
	// 是否启用日志滚动。
	EnableRotate bool
	// 日志滚动时间间隔。
	RotateTime time.Duration
	// 日志保留时间。
	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。

func WithFileMode added in v0.0.2

func WithFileMode(mode os.FileMode) LogrusOption

WithFileMode 设置日志文件权限。 mode:日志文件的权限模式,使用八进制表示,例如:0666。

func WithFormatter added in v0.0.2

func WithFormatter(formatter logrus.Formatter) LogrusOption

WithFormatter 设置日志格式化器。 formatter:自定义的日志格式化器实例,用于控制日志的输出格式。

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 表示单行输出。

func WithLogrusEnableRotate added in v0.0.2

func WithLogrusEnableRotate(enable bool) LogrusOption

WithLogrusEnableRotate 设置是否启用日志滚动。 enable:是否启用日志滚动功能,true 表示启用,false 表示禁用。

func WithLogrusLevel added in v0.0.2

func WithLogrusLevel(level Level) LogrusOption

WithLogrusLevel 设置日志级别。 level:日志输出的级别,可选值包括 DebugLevel、InfoLevel、WarnLevel、ErrorLevel、FatalLevel。

func WithLogrusMaxAge added in v0.0.2

func WithLogrusMaxAge(duration time.Duration) LogrusOption

WithLogrusMaxAge 设置日志保留时间。 duration:日志文件的最大保留时间,超过这个时间的日志文件会被自动删除。

func WithLogrusRotateTime added in v0.0.2

func WithLogrusRotateTime(duration time.Duration) LogrusOption

WithLogrusRotateTime 设置日志滚动时间间隔。 duration:日志滚动的时间间隔,例如:time.Hour 表示每小时滚动一次。

func WithOutputPath added in v0.0.2

func WithOutputPath(path string) LogrusOption

WithOutputPath 设置日志输出路径。 path:日志文件的输出路径,支持绝对路径和相对路径。

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 表示启用颜色。

type Option added in v0.0.2

type Option func(*LoggerOptions)

Option 定义了日志配置的函数选项。

func WithEnableRotate added in v0.0.2

func WithEnableRotate(enable bool) Option

WithEnableRotate 设置是否启用日志滚动。

func WithFormatType added in v0.0.4

func WithFormatType(formatType LoggerFormatType) Option

WithFormatType 设置日志输出格式类型。 formatType:日志输出格式类型,可选值包括 TextFormat、JSONFormat。

func WithLevel added in v0.0.2

func WithLevel(level Level) Option

WithLevel 设置日志级别。

func WithLogType added in v0.0.2

func WithLogType(logType LogType) Option

WithLogType 设置日志类型。

func WithMaxAge added in v0.0.2

func WithMaxAge(duration time.Duration) Option

WithMaxAge 设置日志保留时间。

func WithOutput added in v0.0.2

func WithOutput(output string) Option

WithOutput 设置日志输出路径。

func WithRotateTime added in v0.0.2

func WithRotateTime(duration time.Duration) Option

WithRotateTime 设置日志滚动时间间隔。

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 接口的调试级别日志记录。

func (*StdLogger) Debugf

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

Debugf 实现 Logger 接口的格式化调试级别日志记录。

func (*StdLogger) Error

func (l *StdLogger) Error(args ...interface{})

Error 实现 Logger 接口的错误级别日志记录。

func (*StdLogger) Errorf

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

Errorf 实现 Logger 接口的格式化错误级别日志记录。

func (*StdLogger) Fatal

func (l *StdLogger) Fatal(args ...interface{})

Fatal 实现 Logger 接口的致命错误级别日志记录。 记录日志后会导致程序以状态码 1 退出。

func (*StdLogger) Fatalf

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

Fatalf 实现 Logger 接口的格式化致命错误级别日志记录。 记录日志后会导致程序以状态码 1 退出。

func (*StdLogger) GetLevel

func (l *StdLogger) GetLevel() Level

GetLevel 实现 Logger 接口的日志级别获取方法。

func (*StdLogger) Info

func (l *StdLogger) Info(args ...interface{})

Info 实现 Logger 接口的信息级别日志记录。

func (*StdLogger) Infof

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

Infof 实现 Logger 接口的格式化信息级别日志记录。

func (*StdLogger) SetLevel

func (l *StdLogger) SetLevel(level Level)

SetLevel 实现 Logger 接口的日志级别设置方法。

func (*StdLogger) Warn

func (l *StdLogger) Warn(args ...interface{})

Warn 实现 Logger 接口的警告级别日志记录。

func (*StdLogger) Warnf

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

Warnf 实现 Logger 接口的格式化警告级别日志记录。

func (*StdLogger) WithField

func (l *StdLogger) WithField(key string, value interface{}) Logger

WithField 实现 Logger 接口的单字段添加方法。 创建一个新的日志实例,包含当前实例的所有字段和新添加的字段。 返回包含所有字段的新 Logger 实例。

func (*StdLogger) WithFields

func (l *StdLogger) WithFields(fields map[string]interface{}) Logger

WithFields 实现 Logger 接口的多字段添加方法。 创建一个新的日志实例,包含当前实例的所有字段和新添加的字段。 返回包含所有字段的新 Logger 实例。

Jump to

Keyboard shortcuts

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