Documentation
¶
Index ¶
- Variables
- func FormatRFC3339(t time.Time) string
- func GetSubsystems() []string
- func SetAllLoggers(lvl LogLevel)
- func SetDebugLogging()
- func SetLogLevel(name, level string) error
- func SetLogLevelRegex(e, l string) error
- func SetPrimaryCore(core zapcore.Core)
- func SetupLogging(cfg Config)
- type Config
- type EventLogger
- type LogFormat
- type LogLevel
- type PipeReader
- type PipeReaderOption
- type StandardLogger
- type ZapEventLogger
Constants ¶
This section is empty.
Variables ¶
var ( // LevelDebug 表示调试级别日志 LevelDebug = LogLevel(zapcore.DebugLevel) // LevelInfo 表示信息级别日志 LevelInfo = LogLevel(zapcore.InfoLevel) // LevelWarn 表示警告级别日志 LevelWarn = LogLevel(zapcore.WarnLevel) // LevelError 表示错误级别日志 LevelError = LogLevel(zapcore.ErrorLevel) // LevelDPanic 表示开发环境恐慌级别日志 LevelDPanic = LogLevel(zapcore.DPanicLevel) // LevelPanic 表示恐慌级别日志 LevelPanic = LogLevel(zapcore.PanicLevel) // LevelFatal 表示致命错误级别日志 LevelFatal = LogLevel(zapcore.FatalLevel) )
定义所有支持的日志级别常量
var ErrNoSuchLogger = errors.New("错误: 找不到该日志记录器")
ErrNoSuchLogger 当请求不存在的logger时返回此错误
Functions ¶
func FormatRFC3339 ¶
FormatRFC3339 将给定时间转换为UTC时区的RFC3339Nano格式 Params:
- t: 需要格式化的时间
Returns:
- string: 格式化后的时间字符串
func GetSubsystems ¶
func GetSubsystems() []string
GetSubsystems 返回所有已注册的logger名称列表 返回值:
- []string: 包含所有logger名称的字符串切片
func SetAllLoggers ¶
func SetAllLoggers(lvl LogLevel)
SetAllLoggers 将所有logger的日志级别更改为指定级别 参数:
- lvl: 要设置的日志级别
func SetLogLevel ¶
SetLogLevel 更改特定子系统的日志级别 参数:
- name: 子系统名称,"*"表示所有子系统
- level: 要设置的日志级别字符串
返回值:
- error: 设置过程中的错误,如果成功则为nil
func SetLogLevelRegex ¶
SetLogLevelRegex 将所有匹配表达式`e`的logger设置为级别`l` 参数:
- e: 正则表达式字符串,用于匹配logger名称
- l: 要设置的日志级别字符串
返回值:
- error: 设置过程中的错误,如果成功则为nil
func SetPrimaryCore ¶
SetPrimaryCore 更改主日志core 参数:
- core: 要设置的新日志core
如果已调用SetupLogging,则会替换之前配置的core
func SetupLogging ¶
func SetupLogging(cfg Config)
SetupLogging 初始化logger后端并设置标志 参数:
- cfg: Config 日志配置对象
Types ¶
type Config ¶
type Config struct {
Format LogFormat // 日志输出格式,默认为ColorizedOutput
Level LogLevel // 默认最小启用的日志级别
SubsystemLevels map[string]LogLevel // 每个子系统的默认级别,未指定时默认为Level
Stderr bool // 是否将日志写入stderr
Stdout bool // 是否将日志写入stdout
File string // 日志文件路径
URL string // zap支持的URL schema,使用zap.RegisterSink注册
Labels map[string]string // 应用于所有logger的键值对标签
}
Config 日志配置结构体
type EventLogger ¶
type EventLogger interface {
StandardLogger
}
EventLogger 扩展了StandardLogger接口,允许日志项包含结构化元数据
type LogLevel ¶
LogLevel 表示日志严重性级别 使用包变量作为枚举值
func LevelFromString ¶
LevelFromString 将字符串形式的日志级别解析为 LogLevel 类型 参数:
- level: 要解析的日志级别字符串,支持的值包括: DEBUG, INFO, WARN, ERROR, DPANIC, PANIC, FATAL 以及它们的小写形式
返回:
- LogLevel: 解析后的日志级别
- error: 解析过程中的错误,如果返回错误则应丢弃返回的 LogLevel
type PipeReader ¶
type PipeReader struct {
// contains filtered or unexported fields
}
PipeReader 是一个从日志记录器读取数据的读取器。它是同步的, 因此在读取时阻塞会影响日志记录性能。
func NewPipeReader ¶
func NewPipeReader(opts ...PipeReaderOption) *PipeReader
NewPipeReader 创建一个新的内存读取器,用于从所有日志记录器中读取数据 调用者必须在使用完成后调用返回的读取器的 Close 方法 参数:
- opts: 可选的配置选项列表
返回值:
- *PipeReader: 新创建的管道读取器
默认情况下:
- 以 JSON 格式记录日志。可以通过传递 PipeFormat 选项更改。
- 记录所有原本会记录到"主要"日志输出的内容。即由 SetLogLevel 启用的所有内容。 可以通过传递 PipeLevel 选项来提高最小日志级别。
func (*PipeReader) Close ¶
func (p *PipeReader) Close() error
Close 从日志记录器中注销读取器 返回值:
- error: 关闭过程中的错误,如果没有错误则为 nil
type PipeReaderOption ¶
type PipeReaderOption interface {
// contains filtered or unexported methods
}
PipeReaderOption 定义配置选项的接口
func PipeFormat ¶
func PipeFormat(format LogFormat) PipeReaderOption
PipeFormat 设置管道读取器的输出格式 参数:
- format: 要设置的日志格式
返回值:
- PipeReaderOption: 用于配置管道读取器的选项
func PipeLevel ¶
func PipeLevel(level LogLevel) PipeReaderOption
PipeLevel 设置发送到管道读取器的日志级别 参数:
- level: 要设置的日志级别
返回值:
- PipeReaderOption: 用于配置管道读取器的选项
type StandardLogger ¶
type StandardLogger interface {
// Debug 记录调试级别的日志
Debug(args ...interface{})
// Debugf 使用格式化字符串记录调试级别的日志
Debugf(format string, args ...interface{})
// Error 记录错误级别的日志
Error(args ...interface{})
// Errorf 使用格式化字符串记录错误级别的日志
Errorf(format string, args ...interface{})
// Fatal 记录致命错误级别的日志,并终止程序
Fatal(args ...interface{})
// Fatalf 使用格式化字符串记录致命错误级别的日志,并终止程序
Fatalf(format string, args ...interface{})
// Info 记录信息级别的日志
Info(args ...interface{})
// Infof 使用格式化字符串记录信息级别的日志
Infof(format string, args ...interface{})
// Panic 记录panic级别的日志,并触发panic
Panic(args ...interface{})
// Panicf 使用格式化字符串记录panic级别的日志,并触发panic
Panicf(format string, args ...interface{})
// Warn 记录警告级别的日志
Warn(args ...interface{})
// Warnf 使用格式化字符串记录警告级别的日志
Warnf(format string, args ...interface{})
}
StandardLogger 定义了一个标准日志接口,提供与标准printf日志记录器的API兼容性 例如: go-logging
type ZapEventLogger ¶
type ZapEventLogger struct {
zap.SugaredLogger
// contains filtered or unexported fields
}
ZapEventLogger 实现了EventLogger接口,封装了zap的SugaredLogger
func Logger ¶
func Logger(system string) *ZapEventLogger
Logger 根据系统名称获取事件日志记录器 Params:
- system: 系统名称,用于标识日志来源
Returns:
- *ZapEventLogger: 返回一个基于Zap的事件日志记录器
func WithSkip ¶
func WithSkip(l *ZapEventLogger, skip int) *ZapEventLogger
WithSkip 返回一个新的日志记录器,在报告行号/文件时跳过指定数量的调用栈帧 Params:
- l: 原始日志记录器
- skip: 需要跳过的调用栈帧数量
Returns:
- *ZapEventLogger: 返回新的日志记录器
func WithStacktrace ¶
func WithStacktrace(l *ZapEventLogger, level LogLevel) *ZapEventLogger
WithStacktrace 为指定日志级别添加堆栈跟踪功能 Params:
- l: 原始日志记录器
- level: 需要添加堆栈跟踪的日志级别
Returns:
- *ZapEventLogger: 返回新的带有堆栈跟踪功能的日志记录器
func (*ZapEventLogger) Warning ¶
func (logger *ZapEventLogger) Warning(args ...interface{})
Warning 提供向后兼容性支持 Deprecated: 请使用Warn(args ...interface{})替代
func (*ZapEventLogger) Warningf ¶
func (logger *ZapEventLogger) Warningf(format string, args ...interface{})
Warningf 提供向后兼容性支持 Deprecated: 请使用Warnf(format string, args ...interface{})替代