logger

package
v0.0.1-beta Latest Latest
Warning

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

Go to latest
Published: Jun 24, 2024 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetEncoder

func GetEncoder() zapcore.Encoder

GetEncoder 创建并返回一个zapcore.Encoder,用于格式化日志输出至控制台。 该函数配置了日志的显示样式,包括时间格式、日志级别颜色高亮以及完整的调用者信息。

@Description:

初始化控制台日志编码器,定制日志输出格式,包括时间、级别颜色及调用者信息。

@Return zapcore.Encoder: 返回配置好的控制台日志编码器实例。

func GetFileLogWriter

func GetFileLogWriter(logPath string) zapcore.WriteSyncer

GetFileLogWriter 根据给定的文件路径创建并返回一个实现了 zapcore.WriteSyncer 接口的对象, 用于日志文件的写入与同步。使用 lumberjack 库来支持日志文件的滚动、压缩和清理。

@param logPath string: 日志文件的保存路径。 @return zapcore.WriteSyncer: 返回配置好的日志文件写入器。

func GetLogLevel

func GetLogLevel(level string) zapcore.Level

GetLogLevel 根据输入的日志级别字符串,转换并返回对应的 zapcore.Level 枚举值。 此函数支持将常见的日志级别字符串(如 "debug", "info", "warn", "error", "fatal", "panic") 转换为 zapcore 库使用的日志级别标识。 若提供的字符串无法识别,则默认返回 zapcore.InfoLevel。

@param level string: 需要转换的日志级别字符串,大小写不敏感。 @return zapcore.Level: 相应的日志级别枚举值。若转换失败,默认为InfoLevel。

示例:

  • 输入 "debug" 或 "DEBUG",转换结果为 zapcore.DebugLevel。
  • 输入 "info" 或 "INFO",转换结果为 zapcore.InfoLevel。
  • 若输入如 "invalid" 等无法识别的字符串,则返回 zapcore.InfoLevel。

Types

type GLogger

type GLogger struct {
	ZapLogger *zap.Logger // zap 日志库的实例,负责实际的日志处理工作。
	LogLevel  string      // 当前日志记录的最低级别门槛。
	LogPath   string      // 日志路径
}

GLogger 结构体封装了日志功能,集成 zap.Logger 提供高性能日志记录能力。 通过 ZapLogger 成员直接利用 zap 库的功能,并通过 LogLevel 成员控制日志输出级别。

属性说明:

  • ZapLogger:zap.Logger 的指针,作为日志记录的核心实现对象。 提供了丰富的日志处理能力,如格式化、过滤和输出目标配置等。
  • LogLevel:日志级别枚举,来自 logger.LogLevel,用于设定日志输出的最低级别。 允许动态调整以适应不同的运行环境(如生产、开发)对日志详略的需求。

func (*GLogger) Debug

func (log *GLogger) Debug(msg string, fields ...zapcore.Field)

Debug 记录调试级别的日志。 @param msg string: 日志消息。 @param fields ...zapcore.Field: 额外的结构化日志字段。

func (*GLogger) Error

func (log *GLogger) Error(msg string, fields ...zapcore.Field)

Error 记录错误级别的日志。 @param msg string: 日志消息。 @param fields ...zapcore.Field: 额外的结构化日志字段。

func (*GLogger) Fatal

func (log *GLogger) Fatal(msg string, fields ...zapcore.Field)

Fatal 记录致命错误级别的日志,并在记录后调用 os.Exit(1) 终止程序。 @param msg string: 日志消息。 @param fields ...zapcore.Field: 额外的结构化日志字段。

func (*GLogger) GenerateTraceId

func (log *GLogger) GenerateTraceId() string

GenerateTraceId 为 GLogger 类型实例提供生成全局唯一追踪ID的功能。 这个方法利用 UUID 生成一个字符串,确保了每个调用生成的ID都是唯一的, 有助于在分布式系统中跨服务追踪请求和日志。

@receiver log *GLogger: GLogger 结构体的指针,尽管在此方法中未直接使用,

但作为接收者表明此方法属于 GLogger 的实例方法。

@return string: 返回一个全局唯一标识符(UUID)的字符串表示形式,用作追踪ID。

func (*GLogger) Info

func (log *GLogger) Info(msg string, fields ...zapcore.Field)

Info 记录信息级别的日志。 @param msg string: 日志消息。 @param fields ...zapcore.Field: 额外的结构化日志字段。

func (*GLogger) SetLogLevel

func (log *GLogger) SetLogLevel(level string)

func (*GLogger) Warn

func (log *GLogger) Warn(msg string, fields ...zapcore.Field)

Warn 记录警告级别的日志。 @param msg string: 日志消息。 @param fields ...zapcore.Field: 额外的结构化日志字段。

type LogInterface

type LogInterface interface {
	GenerateTraceId() string                   // 生成一个用于日志追踪的唯一ID。
	Debug(msg string, fields ...zapcore.Field) // 记录调试日志。
	Info(msg string, fields ...zapcore.Field)  // 记录信息日志。
	Warn(msg string, fields ...zapcore.Field)  // 记录警告日志。
	Error(msg string, fields ...zapcore.Field) // 记录错误日志。
	Fatal(msg string, fields ...zapcore.Field) // 记录致命错误日志后终止程序。
	SetLogLevel(level string)                  // 设置日志级别。
}

LogInterface 接口定义了一套日志操作方法, 旨在为应用程序提供统一且灵活的日志记录能力。 包括生成追踪ID及不同日志级别(调试、信息、警告、错误、致命)的记录功能。

方法列表:

  • GenerateTraceId:生成一个唯一标识,便于日志追踪与问题排查。
  • Debug:记录调试信息,适用于开发阶段详细日志输出。
  • Info:记录一般信息日志,用于追踪应用运行流程。
  • Warn:记录警告信息,指出可能的问题但不影响当前执行流程。
  • Error:记录错误信息,指示发生了应当被关注并处理的错误情况。
  • Fatal:记录致命错误,并在执行该方法后终止程序运行。

参数说明:

  • msg:所有记录日志方法中的字符串参数,表示要记录的日志消息内容。
  • fields:可变参数,zapcore.Field类型的切片,用于携带额外的键值对信息, 丰富日志内容,提高日志的可读性和分析便利性。

Jump to

Keyboard shortcuts

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