Documentation
¶
Index ¶
- func GetEncoder() zapcore.Encoder
- func GetFileLogWriter(logPath string) zapcore.WriteSyncer
- func GetLogLevel(level string) zapcore.Level
- type GLogger
- func (log *GLogger) Debug(msg string, fields ...zapcore.Field)
- func (log *GLogger) Error(msg string, fields ...zapcore.Field)
- func (log *GLogger) Fatal(msg string, fields ...zapcore.Field)
- func (log *GLogger) GenerateTraceId() string
- func (log *GLogger) Info(msg string, fields ...zapcore.Field)
- func (log *GLogger) SetLogLevel(level string)
- func (log *GLogger) Warn(msg string, fields ...zapcore.Field)
- type LogInterface
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetEncoder ¶
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 ¶
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 ¶
Debug 记录调试级别的日志。 @param msg string: 日志消息。 @param fields ...zapcore.Field: 额外的结构化日志字段。
func (*GLogger) Error ¶
Error 记录错误级别的日志。 @param msg string: 日志消息。 @param fields ...zapcore.Field: 额外的结构化日志字段。
func (*GLogger) Fatal ¶
Fatal 记录致命错误级别的日志,并在记录后调用 os.Exit(1) 终止程序。 @param msg string: 日志消息。 @param fields ...zapcore.Field: 额外的结构化日志字段。
func (*GLogger) GenerateTraceId ¶
GenerateTraceId 为 GLogger 类型实例提供生成全局唯一追踪ID的功能。 这个方法利用 UUID 生成一个字符串,确保了每个调用生成的ID都是唯一的, 有助于在分布式系统中跨服务追踪请求和日志。
@receiver log *GLogger: GLogger 结构体的指针,尽管在此方法中未直接使用,
但作为接收者表明此方法属于 GLogger 的实例方法。
@return string: 返回一个全局唯一标识符(UUID)的字符串表示形式,用作追踪ID。
func (*GLogger) Info ¶
Info 记录信息级别的日志。 @param msg string: 日志消息。 @param fields ...zapcore.Field: 额外的结构化日志字段。
func (*GLogger) SetLogLevel ¶
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类型的切片,用于携带额外的键值对信息, 丰富日志内容,提高日志的可读性和分析便利性。