Documentation
¶
Overview ¶
Package hlog
----------------develop info----------------
@Author Calmu @DateTime 2026-1-6 17:00
--------------------------------------------
Package hlog ¶
----------------develop info----------------
@Author Calmu @DateTime 2026-1-5 10:34
--------------------------------------------
Index ¶
- Variables
- func Close()
- func InitLogger(loggerType string, config LoggerConfig)
- func InitRotatingLogger(loggerType string, rotateConfig RotateConfig)
- func NewGormLogger(hlogger HLogger, config *logger.Config) logger.Interface
- func SetLogger(loggerType string, logger HLogger)
- type EncoderConfig
- type GormLoggerInterface
- type HLogger
- type HLoggerBase
- type LoggerConfig
- type RotateConfig
Constants ¶
This section is empty.
Variables ¶
View Source
var (
GlobalLoggers = make(map[string]HLogger)
)
全局logger映射,用于存储不同类型的logger
Functions ¶
func InitRotatingLogger ¶
func InitRotatingLogger(loggerType string, rotateConfig RotateConfig)
InitRotatingLogger 初始化指定类型的轮转logger
func NewGormLogger ¶
NewGormLogger 创建一个新的GORM日志适配器
Types ¶
type EncoderConfig ¶
type EncoderConfig struct {
TimeKey string // 时间字段的键名,默认为 "ts"
LevelKey string // 级别字段的键名,默认为 "level"
NameKey string // 名称字段的键名,默认为 "logger"
CallerKey string // 调用者字段的键名,默认为 "caller"
MessageKey string // 消息字段的键名,默认为 "msg"
StacktraceKey string // 堆栈跟踪字段的键名,默认为 "stacktrace"
LineEnding string // 行结束符,默认为 "\n"
EncodeLevel string // 级别编码方式: "lowercase", "uppercase", "capital", "capitalColor", "color"
EncodeTime string // 时间编码方式: "iso8601", "millis", "nanos", "epoch", "rfc3339", "rfc3339nano"
EncodeDuration string // 持续时间编码方式: "seconds", "nanos", "string"
EncodeCaller string // 调用者编码方式: "full", "short"
TimeLayout string // 自定义时间格式布局,例如 "2006-01-02 15:04:05"
// 隐藏字段选项 - 如果设置为true,则在输出中隐藏相应字段
HideCaller bool // 是否隐藏调用者信息
HideLevel bool // 是否隐藏日志级别
HideTime bool // 是否隐藏时间戳
HideName bool // 是否隐藏名称字段
}
EncoderConfig 编码器配置结构
type GormLoggerInterface ¶
type GormLoggerInterface interface {
LogMode(level int) GormLoggerInterface
Info(ctx context.Context, msg string, data ...interface{})
Warn(ctx context.Context, msg string, data ...interface{})
Error(ctx context.Context, msg string, data ...interface{})
Trace(ctx context.Context, begin time.Time, fc func() (sql string, rowsAffected int64), err error)
}
GormLoggerInterface GORM Logger接口定义
type HLogger ¶
type HLogger interface {
HLoggerBase
Debug(msg string, fields ...zap.Field)
Fatal(msg string, fields ...zap.Field)
Close() error
}
func NewRotatingLogger ¶
func NewRotatingLogger(rotateConfig RotateConfig) (HLogger, error)
NewRotatingLogger 创建支持轮转的日志记录器
func NewZapLogger ¶
func NewZapLogger(config LoggerConfig) (HLogger, error)
NewZapLogger 根据普通配置创建新的zap logger
type HLoggerBase ¶
type LoggerConfig ¶
type LoggerConfig struct {
Level string // 日志级别: debug, info, warn, error, dpanic, panic, fatal
OutputPath []string // 输出路径
Encoder string // 编码器: json, console
EncoderConfig *EncoderConfig // 编码器详细配置
}
LoggerConfig 日志配置结构
type RotateConfig ¶
type RotateConfig struct {
// 时间轮转配置
TimeRotation string // "daily", "hourly", "minutely"
// 大小轮转配置
MaxSize int64 // MB
MaxBackups int // 最大备份文件数
MaxAge int // 保留天数
Compress bool // 是否压缩
// 基础配置
Filename string // 基础文件名
Level string // 日志级别
Encoder string // 编码器: json, console
EncoderConfig *EncoderConfig // 编码器详细配置
OutputType string // 输出类型: file, stdout, 或两者
}
RotateConfig 定义轮转配置
Click to show internal directories.
Click to hide internal directories.