Documentation
¶
Index ¶
- Constants
- Variables
- func ApplyModulesToHandler(baseHandler slog.Handler, moduleList []modules.Module) slog.Handler
- func ConfigureGlobal(config *GlobalConfig) error
- func ConfigureRecordLimiter(ratePerSecond, burst int)
- func Countdown(msg string, seconds int)
- func Debug(msg string, args ...any)
- func DebugContext(ctx context.Context, msg string, args ...any)
- func Debugf(format string, args ...any)
- func DebugfContext(ctx context.Context, format string, args ...any)
- func DefaultProgressBarOptions() progressBarOptions
- func DisableDLPLogger()
- func DisableJSONLogger()
- func DisableTextLogger()
- func Dynamic(msg string, frames int, interval int)
- func EnableDLPLogger()
- func EnableDiagnosticsLogging(on bool, writer ...io.Writer)
- func EnableJSONLogger()
- func EnableTextLogger()
- func Error(msg string, args ...any)
- func ErrorContext(ctx context.Context, msg string, args ...any)
- func Errorf(format string, args ...any)
- func ErrorfContext(ctx context.Context, format string, args ...any)
- func Fatal(msg string, args ...any)
- func Fatalf(format string, args ...any)
- func GetErrorComponent(err error) string
- func GetErrorOperation(err error) string
- func GetSlogLogger() *slog.Logger
- func Info(msg string, args ...any)
- func InfoContext(ctx context.Context, msg string, args ...any)
- func Infof(format string, args ...any)
- func InfofContext(ctx context.Context, format string, args ...any)
- func IsDLPEnabled() bool
- func IsErrorType(err error, errorType ErrorType) bool
- func ListFormatters() []string
- func Loading(msg string, seconds int)
- func New(handler Handler) *slog.Logger
- func NewConsoleHandler(w io.Writer, noColor bool, opts *slog.HandlerOptions) slog.Handler
- func NewJSONHandler(w io.Writer, opts *HandlerOptions) *slog.JSONHandler
- func NewOptions(options *slog.HandlerOptions) *slog.HandlerOptions
- func NewTextHandler(w io.Writer, opts *HandlerOptions) *slog.TextHandler
- func NewWriter(filename ...string) *writer
- func Printf(format string, args ...any)
- func Println(msg string, args ...any)
- func Progress(msg string, durationMs int)
- func ProgressBarWithValue(msg string, progress float64, barWidth int, level ...Level)
- func ProgressBarWithValueAndOptions(msg string, progress float64, barWidth int, opts progressBarOptions, ...)
- func ProgressBarWithValueAndOptionsTo(msg string, progress float64, barWidth int, opts progressBarOptions, ...)
- func ProgressBarWithValueTo(msg string, progress float64, barWidth int, writer io.Writer, level ...Level)
- func RegisterFormatter(name string, fn FormatterFunc) string
- func RegisteredModules() []string
- func RemoveFormatter(id string) bool
- func SetAttrFormatterOrder(order ...AttrFormatterRule)
- func SetContextPropagator(fn ContextPropagatorFunc)
- func SetLevel(level any) error
- func SetLevelDebug()
- func SetLevelError()
- func SetLevelFatal()
- func SetLevelInfo()
- func SetLevelTrace()
- func SetLevelWarn()
- func SetRecordRouter(router RecordRouter)
- func SetTimeFormat(format string)
- func StartRuntimePanel(addr string) (*http.Server, error)
- func Subscribe(size uint16) (<-chan slog.Record, context.CancelFunc)
- func Trace(msg string, args ...any)
- func TraceContext(ctx context.Context, msg string, args ...any)
- func Tracef(format string, args ...any)
- func TracefContext(ctx context.Context, format string, args ...any)
- func UpdateModuleConfig(name string, config modules.Config) error
- func Warn(msg string, args ...any)
- func WarnContext(ctx context.Context, msg string, args ...any)
- func Warnf(format string, args ...any)
- func WarnfContext(ctx context.Context, format string, args ...any)
- type Attr
- func Any(key string, v any) Attr
- func Bool(key string, v bool) Attr
- func Duration(key string, v time.Duration) Attr
- func Float64(key string, v float64) Attr
- func Group(key string, args ...any) Attr
- func Int(key string, v int) Attr
- func Int64(key string, v int64) Attr
- func String(key string, v string) Attr
- func Time(key string, v time.Time) Attr
- func Uint64(key string, v uint64) Attr
- type AttrFormatterRule
- type ChainHandler
- type Config
- type ContextPropagatorFunc
- type DynamicProgressRenderer
- func (dpr *DynamicProgressRenderer) GetActiveCount() int
- func (dpr *DynamicProgressRenderer) GetDynamicStats() DynamicStats
- func (dpr *DynamicProgressRenderer) StartDynamic(logger *Logger, msg string, frames int, interval time.Duration, ...) error
- func (dpr *DynamicProgressRenderer) StopAll()
- func (dpr *DynamicProgressRenderer) StopByLogger(logger *Logger)
- type DynamicStats
- type ErrorType
- type FanoutHandler
- type Fields
- type FormatterFunc
- type GlobalConfig
- type Handler
- type HandlerOptions
- type Level
- type Logger
- func Default(modules ...string) *Logger
- func GetGlobalLogger() *Logger
- func Named(name string) *Logger
- func NewGELFLogger(w io.Writer, opts *slog.HandlerOptions, gopts *gelfmod.Options) *Logger
- func NewLogfmtLogger(w io.Writer, opts *slog.HandlerOptions) *Logger
- func NewLogger(w io.Writer, noColor, addSource bool) *Logger
- func NewLoggerWithConfig(w io.Writer, config *Config) *Logger
- func ProgressBar(msg string, durationMs int, barWidth int, level ...Level) *Logger
- func ProgressBarTo(msg string, durationMs int, barWidth int, writer io.Writer, level ...Level) *Logger
- func ProgressBarWithOptions(msg string, durationMs int, barWidth int, opts progressBarOptions, ...) *Logger
- func ProgressBarWithOptionsTo(msg string, durationMs int, barWidth int, opts progressBarOptions, ...) *Logger
- func ResetGlobalLogger(w io.Writer, noColor, addSource bool) *Logger
- func With(args ...any) *Logger
- func WithGroup(name string) *Logger
- func WithValue(key string, val any) *Logger
- func (l *Logger) Countdown(msg string, seconds int, writer ...io.Writer)
- func (l *Logger) Debug(msg string, args ...any)
- func (l *Logger) Debugf(format string, args ...any)
- func (l *Logger) DebugfContext(ctx context.Context, format string, args ...any)
- func (l *Logger) Diagnostics() []ModuleDiagnostics
- func (l *Logger) Dynamic(msg string, frames int, interval int, writer ...io.Writer)
- func (l *Logger) Error(msg string, args ...any)
- func (l *Logger) ErrorContext(ctx context.Context, msg string, args ...any)
- func (l *Logger) Errorf(format string, args ...any)
- func (l *Logger) ErrorfContext(ctx context.Context, format string, args ...any)
- func (l *Logger) FastDynamic(msg string, durationMs int, writer ...io.Writer)
- func (l *Logger) Fatal(msg string, args ...any)
- func (l *Logger) FatalContext(ctx context.Context, msg string, args ...any)
- func (l *Logger) Fatalf(format string, args ...any)
- func (l *Logger) FatalfContext(ctx context.Context, format string, args ...any)
- func (l *Logger) GetLevel() Level
- func (l *Logger) GetSlogLogger() *slog.Logger
- func (l *Logger) Info(msg string, args ...any)
- func (l *Logger) InfoContext(ctx context.Context, msg string, args ...any)
- func (l *Logger) Infof(format string, args ...any)
- func (l *Logger) InfofContext(ctx context.Context, format string, args ...any)
- func (l *Logger) Loading(msg string, seconds int, writer ...io.Writer)
- func (l *Logger) NewProgressBar(message string) *ProgressBuilder
- func (l *Logger) Printf(format string, args ...any)
- func (l *Logger) Println(msg string, args ...any)
- func (l *Logger) Progress(msg string, durationMs int, writer ...io.Writer)
- func (l *Logger) ProgressBar(msg string, durationMs int, barWidth int, level ...Level) *Logger
- func (l *Logger) ProgressBarCompat(msg string, durationMs int, barWidth int, level ...Level) *Logger
- func (l *Logger) ProgressBarTo(msg string, durationMs int, barWidth int, writer io.Writer, level ...Level) *Logger
- func (l *Logger) ProgressBarToCompat(msg string, durationMs int, barWidth int, writer io.Writer, level ...Level) *Logger
- func (l *Logger) ProgressBarWithOptions(msg string, durationMs int, barWidth int, opts progressBarOptions, ...) *Logger
- func (l *Logger) ProgressBarWithOptionsTo(msg string, durationMs int, barWidth int, opts progressBarOptions, ...) *Logger
- func (l *Logger) ProgressBarWithValue(msg string, progress float64, barWidth int, level ...Level)
- func (l *Logger) ProgressBarWithValueAndOptions(msg string, progress float64, barWidth int, opts progressBarOptions, ...)
- func (l *Logger) ProgressBarWithValueAndOptionsTo(msg string, progress float64, barWidth int, opts progressBarOptions, ...)
- func (l *Logger) ProgressBarWithValueCompat(msg string, progress float64, barWidth int, level ...Level)
- func (l *Logger) ProgressBarWithValueTo(msg string, progress float64, barWidth int, writer io.Writer, level ...Level)
- func (l *Logger) SetLevel(level any) *Logger
- func (l *Logger) Trace(msg string, args ...any)
- func (l *Logger) TraceContext(ctx context.Context, msg string, args ...any)
- func (l *Logger) Tracef(format string, args ...any)
- func (l *Logger) TracefContext(ctx context.Context, format string, args ...any)
- func (l *Logger) Use(module modules.Module) *ModuleBuilder
- func (l *Logger) UseConfig(configs []modules.ModuleConfig) *ModuleBuilder
- func (l *Logger) UseFactory(name string, config modules.Config) *ModuleBuilder
- func (l *Logger) Warn(msg string, args ...any)
- func (l *Logger) WarnContext(ctx context.Context, msg string, args ...any)
- func (l *Logger) Warnf(format string, args ...any)
- func (l *Logger) WarnfContext(ctx context.Context, format string, args ...any)
- func (l *Logger) With(args ...any) *Logger
- func (l *Logger) WithContext(ctx context.Context) *Logger
- func (l *Logger) WithDeadline(d time.Time) (*Logger, context.CancelFunc)
- func (l *Logger) WithGroup(name string) *Logger
- func (l *Logger) WithModules(modules ...modules.Module) *ModuleBuilder
- func (l *Logger) WithTimeout(timeout time.Duration) (*Logger, context.CancelFunc)
- func (l *Logger) WithValue(key string, val interface{}) *Logger
- type LoggerBuilder
- func (b *LoggerBuilder) Build() *Logger
- func (b *LoggerBuilder) EnableDLP(on bool) *LoggerBuilder
- func (b *LoggerBuilder) EnableJSON(on bool) *LoggerBuilder
- func (b *LoggerBuilder) EnableText(on bool) *LoggerBuilder
- func (b *LoggerBuilder) UseGELF(opts *gelfmod.Options) *LoggerBuilder
- func (b *LoggerBuilder) UseLogfmt() *LoggerBuilder
- func (b *LoggerBuilder) WithAttrs(attrs ...Attr) *LoggerBuilder
- func (b *LoggerBuilder) WithConfig(cfg *Config) *LoggerBuilder
- func (b *LoggerBuilder) WithGroup(name string) *LoggerBuilder
- func (b *LoggerBuilder) WithModule(name string) *LoggerBuilder
- func (b *LoggerBuilder) WithWriter(w io.Writer) *LoggerBuilder
- type LoggerManager
- func (lm *LoggerManager) Configure(config *GlobalConfig) error
- func (lm *LoggerManager) GetDefault() *Logger
- func (lm *LoggerManager) GetNamed(name string) *Logger
- func (lm *LoggerManager) GetStats() ManagerStats
- func (lm *LoggerManager) ListInstances() []string
- func (lm *LoggerManager) Reset()
- func (lm *LoggerManager) Shutdown()
- type ManagerStats
- type ModuleBuilder
- func EnableFormatter(formatterType string, options ...modules.Config) *ModuleBuilder
- func EnableMulti(strategy string, options ...modules.Config) *ModuleBuilder
- func EnableSyslog(network, addr string, options ...modules.Config) *ModuleBuilder
- func EnableWebhook(endpoint string, options ...modules.Config) *ModuleBuilder
- func NewModuleBuilder(logger *Logger) *ModuleBuilder
- func UseConfig(configs []modules.ModuleConfig) *ModuleBuilder
- func UseFactory(name string, config modules.Config) *ModuleBuilder
- func UseModule(module modules.Module) *ModuleBuilder
- type ModuleDiagnostics
- type ProgressBuilder
- func (pb *ProgressBuilder) Brackets(left, right string) *ProgressBuilder
- func (pb *ProgressBuilder) CustomChars(filled, head, empty string) *ProgressBuilder
- func (pb *ProgressBuilder) Duration(d time.Duration) *ProgressBuilder
- func (pb *ProgressBuilder) Level(level Level) *ProgressBuilder
- func (pb *ProgressBuilder) Milliseconds(ms int) *ProgressBuilder
- func (pb *ProgressBuilder) ShowPercent(show bool) *ProgressBuilder
- func (pb *ProgressBuilder) Start()
- func (pb *ProgressBuilder) Style(style ProgressStyle) *ProgressBuilder
- func (pb *ProgressBuilder) TimeFormat(format string) *ProgressBuilder
- func (pb *ProgressBuilder) To(writer io.Writer) *ProgressBuilder
- func (pb *ProgressBuilder) Value(progress float64) *ProgressBuilder
- func (pb *ProgressBuilder) Width(w int) *ProgressBuilder
- type ProgressStyle
- type Record
- type RecordRouter
- type RuntimeSnapshot
- type SlogError
- func NewConfigurationError(component, field string, cause error) *SlogError
- func NewDLPError(operation, field string, cause error) *SlogError
- func NewFormatterError(operation string, cause error) *SlogError
- func NewInitializationError(component, operation string, cause error) *SlogError
- func NewInternalError(component, operation string, cause error) *SlogError
- func NewInvalidInputError(field, expected, actual string) *SlogError
- func NewModuleError(moduleName, operation string, cause error) *SlogError
- func NewProcessingError(component, operation string, cause error) *SlogError
- type Value
Constants ¶
const ( TimeKey = slog.TimeKey LevelKey = slog.LevelKey MessageKey = slog.MessageKey SourceKey = slog.SourceKey )
const ( Name = "darkit/slog" Version = "v0.1.3" )
Variables ¶
var (
TimeFormat = "2006/01/02 15:04.05.000" // 默认时间格式
)
Functions ¶
func ApplyModulesToHandler ¶ added in v0.1.0
ApplyModulesToHandler 将模块处理器应用到基础处理器上
func ConfigureGlobal ¶ added in v0.1.0
func ConfigureGlobal(config *GlobalConfig) error
ConfigureGlobal 配置全局设置(向后兼容)
func ConfigureRecordLimiter ¶ added in v0.1.2
func ConfigureRecordLimiter(ratePerSecond, burst int)
ConfigureRecordLimiter 设置全局日志速率限制(ratePerSecond<=0 关闭限制)。
func DebugContext ¶ added in v0.1.3
DebugContext 记录全局 Debug 日志并传播上下文。
func DebugfContext ¶ added in v0.1.3
DebugfContext 记录格式化 Debug 日志并传播上下文。
func DefaultProgressBarOptions ¶ added in v0.1.0
func DefaultProgressBarOptions() progressBarOptions
DefaultProgressBarOptions 返回默认的进度条选项
func Dynamic ¶ added in v0.0.23
Dynamic 动态输出带点号动画效果
- msg: 要显示的消息内容
- frames: 动画更新的总帧数
- interval: 每次更新的时间间隔(毫秒)
func EnableDiagnosticsLogging ¶ added in v0.1.2
EnableDiagnosticsLogging 控制扩展管线的调试输出,可选自定义输出目标。
func ErrorContext ¶ added in v0.1.3
ErrorContext 记录全局 Error 日志并传播上下文。
func ErrorfContext ¶ added in v0.1.3
ErrorfContext 记录格式化 Error 日志并传播上下文。
func GetErrorComponent ¶ added in v0.1.0
GetErrorComponent 获取错误组件名称
func GetErrorOperation ¶ added in v0.1.0
GetErrorOperation 获取错误操作名称
func GetSlogLogger ¶ added in v0.0.16
GetSlogLogger 返回原始log/slog的日志记录器
func InfoContext ¶ added in v0.1.3
InfoContext 记录全局 Info 日志并传播上下文。
func InfofContext ¶ added in v0.1.3
InfofContext 记录格式化 Info 日志并传播上下文。
func IsErrorType ¶ added in v0.1.0
IsErrorType 检查错误是否为指定类型
func ListFormatters ¶ added in v0.1.2
func ListFormatters() []string
ListFormatters 返回当前激活的格式化器名称列表。
func NewConsoleHandler ¶ added in v0.0.2
NewConsoleHandler returns a log/slog.Handler using the receiver's options. Default options are used if opts is nil.
func NewJSONHandler ¶ added in v0.0.2
func NewJSONHandler(w io.Writer, opts *HandlerOptions) *slog.JSONHandler
func NewOptions ¶ added in v0.0.2
func NewOptions(options *slog.HandlerOptions) *slog.HandlerOptions
NewOptions 创建新的处理程序选项。
func NewTextHandler ¶ added in v0.0.2
func NewTextHandler(w io.Writer, opts *HandlerOptions) *slog.TextHandler
func NewWriter ¶ added in v0.0.19
func NewWriter(filename ...string) *writer
NewWriter 创建一个新的日志写入器,支持指定一个或多个文件路径,多个路径时使用第一个有效路径 filename: 日志文件路径 默认配置:
- 单个文件最大 100MB
- 保留最近 30 天的日志
- 最多保留 30 个备份文件
- 使用本地时间
- 压缩旧文件
func ProgressBarWithValue ¶ added in v0.1.0
ProgressBarWithValue 全局方法:显示指定进度值的进度条
- msg: 要显示的消息内容
- progress: 进度值(0-100之间)
- barWidth: 进度条的总宽度(字符数)
- level: 可选的日志级别,默认使用全局默认级别
func ProgressBarWithValueAndOptions ¶ added in v0.1.0
func ProgressBarWithValueAndOptions(msg string, progress float64, barWidth int, opts progressBarOptions, level ...Level)
ProgressBarWithValueAndOptions 全局方法:显示指定进度值的定制进度条
- msg: 要显示的消息内容
- progress: 进度值(0-100之间)
- barWidth: 进度条的总宽度(字符数)
- opts: 进度条选项,控制显示样式
- level: 可选的日志级别,默认使用全局默认级别
func ProgressBarWithValueAndOptionsTo ¶ added in v0.1.0
func ProgressBarWithValueAndOptionsTo(msg string, progress float64, barWidth int, opts progressBarOptions, writer io.Writer, level ...Level)
ProgressBarWithValueAndOptionsTo 全局方法:显示指定进度值的定制进度条并输出到指定writer
- msg: 要显示的消息内容
- progress: 进度值(0-100之间)
- barWidth: 进度条的总宽度(字符数)
- opts: 进度条选项,控制显示样式
- writer: 指定的输出writer
- level: 可选的日志级别,默认使用全局默认级别
func ProgressBarWithValueTo ¶ added in v0.1.0
func ProgressBarWithValueTo(msg string, progress float64, barWidth int, writer io.Writer, level ...Level)
ProgressBarWithValueTo 全局方法:显示指定进度值的进度条并输出到指定writer
- msg: 要显示的消息内容
- progress: 进度值(0-100之间)
- barWidth: 进度条的总宽度(字符数)
- writer: 指定的输出writer
- level: 可选的日志级别,默认使用全局默认级别
func RegisterFormatter ¶ added in v0.1.2
func RegisterFormatter(name string, fn FormatterFunc) string
RegisterFormatter 在运行时注册新的格式化函数,返回可用于移除的 ID。
func RegisteredModules ¶ added in v0.1.2
func RegisteredModules() []string
RegisteredModules 返回当前已注册的模块名称。
func RemoveFormatter ¶ added in v0.1.2
RemoveFormatter 根据 ID 移除先前注册的格式化函数。
func SetAttrFormatterOrder ¶ added in v0.1.2
func SetAttrFormatterOrder(order ...AttrFormatterRule)
SetAttrFormatterOrder 允许自定义内置属性格式化规则顺序,传入空列表时会恢复默认顺序。
func SetContextPropagator ¶ added in v0.1.2
func SetContextPropagator(fn ContextPropagatorFunc)
SetContextPropagator 设置全局上下文传播方法。
func SetLevel ¶ added in v0.0.23
SetLevel 动态更新日志级别 level 可以是数字(-8, -4, 0, 4, 8, 12)或字符串(trace, debug, info, warn, error, fatal)
func SetRecordRouter ¶ added in v0.1.2
func SetRecordRouter(router RecordRouter)
SetRecordRouter 自定义模块路由策略(返回模块名称列表)。
func SetTimeFormat ¶ added in v0.1.0
func SetTimeFormat(format string)
SetTimeFormat 全局方法:设置日志时间格式
- format: 时间格式字符串,例如 "2006-01-02 15:04:05.000"
func StartRuntimePanel ¶ added in v0.1.3
StartRuntimePanel 启动一个简易 HTTP 面板,暴露运行时开关。 GET /slog/runtime -> 返回状态 POST /slog/runtime -> 通过 query/form 字段 level/text/json/dlp 调整开关
func Subscribe ¶ added in v0.0.23
func Subscribe(size uint16) (<-chan slog.Record, context.CancelFunc)
Subscribe 订阅日志记录 创建一个新的日志订阅,返回接收日志记录的通道和取消订阅的函数
参数:
- size: 通道缓冲区大小,决定可以在不阻塞的情况下缓存多少日志记录
返回值:
- <-chan slog.Record: 只读的日志记录通道,用于接收日志
- context.CancelFunc: 取消订阅的函数,调用后会停止接收日志并清理资源
func TraceContext ¶ added in v0.1.3
TraceContext 记录全局 Trace 日志并传播上下文。
func TracefContext ¶ added in v0.1.3
TracefContext 记录格式化 Trace 日志并传播上下文。
func UpdateModuleConfig ¶ added in v0.1.2
UpdateModuleConfig 热更新已注册模块的配置
func WarnContext ¶ added in v0.1.3
WarnContext 记录全局 Warn 日志并传播上下文。
Types ¶
type AttrFormatterRule ¶ added in v0.1.2
type AttrFormatterRule int
const ( AttrFormatterRuleSource AttrFormatterRule = iota AttrFormatterRuleLevel AttrFormatterRuleTime )
type ChainHandler ¶ added in v0.1.0
type ChainHandler struct {
// contains filtered or unexported fields
}
ChainHandler 链式处理器
func NewChainHandler ¶ added in v0.1.0
func NewChainHandler(middleware, next slog.Handler) *ChainHandler
type Config ¶ added in v0.1.0
type Config struct {
// 缓存配置
MaxFormatCacheSize int64 // 最大格式缓存大小
// 性能配置
StringBuilderPoolSize int // 字符串构建器池大小
// 错误处理配置
LogInternalErrors bool // 是否记录内部错误
// 输出配置
EnableText *bool // 启用文本输出(nil 表示继承全局设置)
EnableJSON *bool // 启用JSON输出(nil 表示继承全局设置)
NoColor bool // 禁用颜色
AddSource bool // 添加源代码位置
// 时间配置
TimeFormat string // 时间格式
}
Config 日志配置结构体
func (*Config) InheritJSONOutput ¶ added in v0.1.0
func (c *Config) InheritJSONOutput()
InheritJSONOutput 使实例 JSON 输出沿用全局设置
func (*Config) InheritTextOutput ¶ added in v0.1.0
func (c *Config) InheritTextOutput()
InheritTextOutput 使实例文本输出沿用全局设置
func (*Config) SetEnableJSON ¶ added in v0.1.0
SetEnableJSON 显式设置 JSON 输出开关
func (*Config) SetEnableText ¶ added in v0.1.0
SetEnableText 显式设置文本输出开关
type ContextPropagatorFunc ¶ added in v0.1.2
ContextPropagatorFunc 将自定义上下文信息转换成 slog.Attr。
type DynamicProgressRenderer ¶ added in v0.1.0
type DynamicProgressRenderer struct {
// contains filtered or unexported fields
}
DynamicProgressRenderer 高性能动态进度条渲染器 解决30.4ms/op性能瓶颈,目标<1ms/op
func GetDynamicProgressRenderer ¶ added in v0.1.0
func GetDynamicProgressRenderer() *DynamicProgressRenderer
GetDynamicProgressRenderer 获取全局渲染器实例
func (*DynamicProgressRenderer) GetActiveCount ¶ added in v0.1.0
func (dpr *DynamicProgressRenderer) GetActiveCount() int
GetActiveCount 获取活跃渲染数量
func (*DynamicProgressRenderer) GetDynamicStats ¶ added in v0.1.0
func (dpr *DynamicProgressRenderer) GetDynamicStats() DynamicStats
GetDynamicStats 获取动态进度条统计信息
func (*DynamicProgressRenderer) StartDynamic ¶ added in v0.1.0
func (dpr *DynamicProgressRenderer) StartDynamic( logger *Logger, msg string, frames int, interval time.Duration, writer io.Writer, ) error
StartDynamic 启动高性能动态进度条 异步执行,不阻塞主线程,支持预计算和缓存
func (*DynamicProgressRenderer) StopAll ¶ added in v0.1.0
func (dpr *DynamicProgressRenderer) StopAll()
StopAll 停止所有活跃的动态进度条
func (*DynamicProgressRenderer) StopByLogger ¶ added in v0.1.0
func (dpr *DynamicProgressRenderer) StopByLogger(logger *Logger)
StopByLogger 停止指定logger的动态进度条
type DynamicStats ¶ added in v0.1.0
DynamicStats 动态进度条统计信息
type FanoutHandler ¶ added in v0.1.0
type FanoutHandler struct {
// contains filtered or unexported fields
}
FanoutHandler 扇出处理器
func NewFanoutHandler ¶ added in v0.1.0
func NewFanoutHandler(handlers ...slog.Handler) *FanoutHandler
type Fields ¶ added in v0.0.18
type Fields struct {
// contains filtered or unexported fields
}
Fields 存储上下文字段
type FormatterFunc ¶ added in v0.1.0
FormatterFunc 内部格式化器接口,避免直接依赖formatter包
type GlobalConfig ¶ added in v0.1.0
type GlobalConfig struct {
DefaultWriter io.Writer
DefaultLevel Level
DefaultNoColor bool
DefaultSource bool
EnableText bool
EnableJSON bool
}
GlobalConfig 全局配置,与实例配置分离
type HandlerOptions ¶ added in v0.0.2
type HandlerOptions = slog.HandlerOptions
type Logger ¶
type Logger struct {
// contains filtered or unexported fields
}
Logger 结构体定义,实现日志记录功能
func GetGlobalLogger ¶ added in v0.1.0
func GetGlobalLogger() *Logger
GetGlobalLogger 返回全局logger实例 如果全局logger未初始化,则创建一个默认的
func NewGELFLogger ¶ added in v0.1.3
NewGELFLogger 使用 GELF handler 创建 Logger,面向 Graylog/Logstash。
func NewLogfmtLogger ¶ added in v0.1.3
func NewLogfmtLogger(w io.Writer, opts *slog.HandlerOptions) *Logger
NewLogfmtLogger 使用 logfmt handler 创建 Logger,便于直接接入 Loki/Vector。
func NewLoggerWithConfig ¶ added in v0.1.0
NewLoggerWithConfig 使用配置创建新的日志记录器
func ProgressBar ¶ added in v0.1.0
ProgressBar 全局方法:显示带有可视化进度条的日志
- msg: 要显示的消息内容
- durationMs: 从0%到100%的总持续时间(毫秒)
- barWidth: 进度条的总宽度(字符数)
- level: 可选的日志级别,默认使用全局默认级别
func ProgressBarTo ¶ added in v0.1.0
func ProgressBarTo(msg string, durationMs int, barWidth int, writer io.Writer, level ...Level) *Logger
ProgressBarTo 全局方法:显示带有可视化进度条的日志,并输出到指定writer
- msg: 要显示的消息内容
- durationMs: 从0%到100%的总持续时间(毫秒)
- barWidth: 进度条的总宽度(字符数)
- writer: 指定的输出writer
- level: 可选的日志级别,默认使用全局默认级别
func ProgressBarWithOptions ¶ added in v0.1.0
func ProgressBarWithOptions(msg string, durationMs int, barWidth int, opts progressBarOptions, level ...Level) *Logger
ProgressBarWithOptions 全局方法:显示可高度定制的进度条
- msg: 要显示的消息内容
- durationMs: 从0%到100%的总持续时间(毫秒)
- barWidth: 进度条的总宽度(字符数)
- opts: 进度条选项,控制显示样式
- level: 可选的日志级别,默认使用全局默认级别
func ProgressBarWithOptionsTo ¶ added in v0.1.0
func ProgressBarWithOptionsTo(msg string, durationMs int, barWidth int, opts progressBarOptions, writer io.Writer, level ...Level) *Logger
ProgressBarWithOptionsTo 全局方法:显示可高度定制的进度条并输出到指定writer
- msg: 要显示的消息内容
- durationMs: 从0%到100%的总持续时间(毫秒)
- barWidth: 进度条的总宽度(字符数)
- opts: 进度条选项,控制显示样式
- writer: 指定的输出writer
- level: 可选的日志级别,默认使用全局默认级别
func ResetGlobalLogger ¶ added in v0.1.0
ResetGlobalLogger 重置全局logger实例 这在某些情况下很有用,比如需要更改全局logger的输出目标
func WithGroup ¶ added in v0.0.11
WithGroup 创建一个带有指定组名的全局日志记录器 这是一个包级别的便捷方法 参数:
- name: 日志组的名称
返回:
- 带有指定组名的新日志记录器实例
func (*Logger) Countdown ¶ added in v0.0.23
Countdown 显示倒计时
- msg: 要显示的消息内容
- seconds: 倒计时的秒数
- writer: 可选的输出writer,如果为nil则使用默认的l.w
func (*Logger) DebugfContext ¶ added in v0.1.3
DebugfContext 记录格式化调试日志,附带上下文传播。
func (*Logger) Diagnostics ¶ added in v0.1.2
func (l *Logger) Diagnostics() []ModuleDiagnostics
Diagnostics 返回模块健康与指标快照。
func (*Logger) Dynamic ¶ added in v0.0.23
Dynamic 动态输出带点号动画效果
- msg: 要显示的消息内容
- frames: 动画更新的总帧数
- interval: 每次更新的时间间隔(毫秒)
- writer: 可选的输出writer,如果为nil则使用默认的l.w
func (*Logger) ErrorContext ¶ added in v0.1.3
ErrorContext 记录错误级别日志,附带上下文传播。
func (*Logger) ErrorfContext ¶ added in v0.1.3
ErrorfContext 记录格式化的错误日志,附带上下文传播。
func (*Logger) FastDynamic ¶ added in v0.1.0
FastDynamic 提供快速动态进度条的便捷方法
func (*Logger) FatalContext ¶ added in v0.1.3
FatalContext 记录致命日志并退出,附带上下文传播。
func (*Logger) FatalfContext ¶ added in v0.1.3
FatalfContext 记录格式化致命日志并退出,附带上下文传播。
func (*Logger) GetSlogLogger ¶ added in v0.0.16
GetSlogLogger 方法
func (*Logger) InfoContext ¶ added in v0.1.3
InfoContext 记录信息级别日志,附带上下文传播。
func (*Logger) InfofContext ¶ added in v0.1.3
InfofContext 记录格式化的信息日志,附带上下文传播。
func (*Logger) Loading ¶ added in v0.0.23
Loading 显示加载动画
- msg: 要显示的消息内容
- seconds: 持续时间(秒)
- writer: 可选的输出writer,如果为nil则使用默认的l.w
func (*Logger) NewProgressBar ¶ added in v0.1.0
func (l *Logger) NewProgressBar(message string) *ProgressBuilder
NewProgressBar 创建进度条建造者 这是新API的入口点,替换了原来的8个方法
func (*Logger) Progress ¶ added in v0.0.23
Progress 显示进度百分比
- msg: 要显示的消息内容
- durationMs: 从0%到100%的总持续时间(毫秒)
- writer: 可选的输出writer,如果为nil则使用默认的l.w
func (*Logger) ProgressBar ¶ added in v0.1.0
ProgressBar 显示带有可视化进度条的日志
- msg: 要显示的消息内容
- durationMs: 从0%到100%的总持续时间(毫秒)
- barWidth: 进度条的总宽度(字符数)
- level: 可选的日志级别,默认使用logger的默认级别
func (*Logger) ProgressBarCompat ¶ added in v0.1.0
func (l *Logger) ProgressBarCompat(msg string, durationMs int, barWidth int, level ...Level) *Logger
ProgressBarCompat 向后兼容的进度条方法 @Deprecated: 使用 NewProgressBar().Duration().Width().Start() 替代
func (*Logger) ProgressBarTo ¶ added in v0.1.0
func (l *Logger) ProgressBarTo(msg string, durationMs int, barWidth int, writer io.Writer, level ...Level) *Logger
ProgressBarTo 显示带有可视化进度条的日志,并可指定输出目标
- msg: 要显示的消息内容
- durationMs: 从0%到100%的总持续时间(毫秒)
- barWidth: 进度条的总宽度(字符数)
- writer: 指定的输出writer
- level: 可选的日志级别,默认使用logger的默认级别
func (*Logger) ProgressBarToCompat ¶ added in v0.1.0
func (l *Logger) ProgressBarToCompat(msg string, durationMs int, barWidth int, writer io.Writer, level ...Level) *Logger
ProgressBarToCompat 向后兼容的带输出目标进度条方法 @Deprecated: 使用 NewProgressBar().Duration().Width().To().Start() 替代
func (*Logger) ProgressBarWithOptions ¶ added in v0.1.0
func (l *Logger) ProgressBarWithOptions(msg string, durationMs int, barWidth int, opts progressBarOptions, level ...Level) *Logger
ProgressBarWithOptions 显示可高度定制的进度条
- msg: 要显示的消息内容
- durationMs: 从0%到100%的总持续时间(毫秒)
- barWidth: 进度条的总宽度(字符数)
- opts: 进度条选项,控制显示样式
- level: 可选的日志级别,默认使用logger的默认级别
func (*Logger) ProgressBarWithOptionsTo ¶ added in v0.1.0
func (l *Logger) ProgressBarWithOptionsTo(msg string, durationMs int, barWidth int, opts progressBarOptions, writer io.Writer, level ...Level) *Logger
ProgressBarWithOptionsTo 显示可高度定制的进度条并输出到指定writer
- msg: 要显示的消息内容
- durationMs: 从0%到100%的总持续时间(毫秒)
- barWidth: 进度条的总宽度(字符数)
- opts: 进度条选项,控制显示样式
- writer: 指定的输出writer
- level: 可选的日志级别,默认使用logger的默认级别
func (*Logger) ProgressBarWithValue ¶ added in v0.1.0
ProgressBarWithValue 显示指定进度值的进度条
- msg: 要显示的消息内容
- progress: 进度值(0-100之间)
- barWidth: 进度条的总宽度(字符数)
- level: 可选的日志级别,默认使用logger的默认级别
func (*Logger) ProgressBarWithValueAndOptions ¶ added in v0.1.0
func (l *Logger) ProgressBarWithValueAndOptions(msg string, progress float64, barWidth int, opts progressBarOptions, level ...Level)
ProgressBarWithValueAndOptions 显示指定进度值的定制进度条
- msg: 要显示的消息内容
- progress: 进度值(0-100之间)
- barWidth: 进度条的总宽度(字符数)
- opts: 进度条选项,控制显示样式
- level: 可选的日志级别,默认使用logger的默认级别
func (*Logger) ProgressBarWithValueAndOptionsTo ¶ added in v0.1.0
func (l *Logger) ProgressBarWithValueAndOptionsTo(msg string, progress float64, barWidth int, opts progressBarOptions, writer io.Writer, level ...Level)
ProgressBarWithValueAndOptionsTo 显示指定进度值的定制进度条并输出到指定writer
- msg: 要显示的消息内容
- progress: 进度值(0-100之间)
- barWidth: 进度条的总宽度(字符数)
- opts: 进度条选项,控制显示样式
- writer: 指定的输出writer
- level: 可选的日志级别,默认使用logger的默认级别
func (*Logger) ProgressBarWithValueCompat ¶ added in v0.1.0
func (l *Logger) ProgressBarWithValueCompat(msg string, progress float64, barWidth int, level ...Level)
ProgressBarWithValueCompat 向后兼容的带值进度条方法 @Deprecated: 使用 NewProgressBar().Value().Width().Start() 替代
func (*Logger) ProgressBarWithValueTo ¶ added in v0.1.0
func (l *Logger) ProgressBarWithValueTo(msg string, progress float64, barWidth int, writer io.Writer, level ...Level)
ProgressBarWithValueTo 显示指定进度值的进度条并输出到指定writer
- msg: 要显示的消息内容
- progress: 进度值(0-100之间)
- barWidth: 进度条的总宽度(字符数)
- writer: 指定的输出writer
- level: 可选的日志级别,默认使用logger的默认级别
func (*Logger) TraceContext ¶ added in v0.1.3
TraceContext 记录跟踪日志,附带上下文传播。
func (*Logger) TracefContext ¶ added in v0.1.3
TracefContext 记录格式化的 Trace 日志,附带上下文传播。
func (*Logger) Use ¶ added in v0.1.0
func (l *Logger) Use(module modules.Module) *ModuleBuilder
Use 为Logger添加模块实例
func (*Logger) UseConfig ¶ added in v0.1.0
func (l *Logger) UseConfig(configs []modules.ModuleConfig) *ModuleBuilder
UseConfig 为Logger添加批量配置模块
func (*Logger) UseFactory ¶ added in v0.1.0
func (l *Logger) UseFactory(name string, config modules.Config) *ModuleBuilder
UseFactory 为Logger添加通过工厂创建的模块
func (*Logger) WarnContext ¶ added in v0.1.3
WarnContext 记录警告级别日志,附带上下文传播。
func (*Logger) WarnfContext ¶ added in v0.1.3
WarnfContext 记录格式化的警告日志,附带上下文传播。
func (*Logger) WithContext ¶ added in v0.0.7
WithContext 创建带有上下文的新Logger
func (*Logger) WithDeadline ¶ added in v0.0.23
WithDeadline 创建带截止时间的Logger
func (*Logger) WithModules ¶ added in v0.1.0
func (l *Logger) WithModules(modules ...modules.Module) *ModuleBuilder
WithModules 便捷方法:一次性添加多个模块
func (*Logger) WithTimeout ¶ added in v0.0.23
WithTimeout 创建带超时的Logger
type LoggerBuilder ¶ added in v0.1.3
type LoggerBuilder struct {
// contains filtered or unexported fields
}
LoggerBuilder 通过链式方式快速构建 Logger,便于上层按需开启 Text/JSON/DLP、预置分组与字段。
func NewLoggerBuilder ¶ added in v0.1.3
func NewLoggerBuilder() *LoggerBuilder
NewLoggerBuilder 创建一个新的构建器,默认输出到 stdout、启用文本日志。
func (*LoggerBuilder) Build ¶ added in v0.1.3
func (b *LoggerBuilder) Build() *Logger
Build 构建 Logger 实例。
func (*LoggerBuilder) EnableDLP ¶ added in v0.1.3
func (b *LoggerBuilder) EnableDLP(on bool) *LoggerBuilder
EnableDLP 控制 DLP 脱敏能力。
func (*LoggerBuilder) EnableJSON ¶ added in v0.1.3
func (b *LoggerBuilder) EnableJSON(on bool) *LoggerBuilder
EnableJSON 控制 JSON 输出。
func (*LoggerBuilder) EnableText ¶ added in v0.1.3
func (b *LoggerBuilder) EnableText(on bool) *LoggerBuilder
EnableText 控制文本输出。
func (*LoggerBuilder) UseGELF ¶ added in v0.1.3
func (b *LoggerBuilder) UseGELF(opts *gelfmod.Options) *LoggerBuilder
UseGELF 切换为 GELF 输出,并可附带选项。
func (*LoggerBuilder) UseLogfmt ¶ added in v0.1.3
func (b *LoggerBuilder) UseLogfmt() *LoggerBuilder
UseLogfmt 切换为 logfmt 输出。
func (*LoggerBuilder) WithAttrs ¶ added in v0.1.3
func (b *LoggerBuilder) WithAttrs(attrs ...Attr) *LoggerBuilder
WithAttrs 预置结构化字段。
func (*LoggerBuilder) WithConfig ¶ added in v0.1.3
func (b *LoggerBuilder) WithConfig(cfg *Config) *LoggerBuilder
WithConfig 使用自定义配置,内部会复制一份避免外部修改产生副作用。
func (*LoggerBuilder) WithGroup ¶ added in v0.1.3
func (b *LoggerBuilder) WithGroup(name string) *LoggerBuilder
WithGroup 预置日志分组。
func (*LoggerBuilder) WithModule ¶ added in v0.1.3
func (b *LoggerBuilder) WithModule(name string) *LoggerBuilder
WithModule 为日志添加模块字段。
func (*LoggerBuilder) WithWriter ¶ added in v0.1.3
func (b *LoggerBuilder) WithWriter(w io.Writer) *LoggerBuilder
WithWriter 指定输出目标。
type LoggerManager ¶ added in v0.1.0
type LoggerManager struct {
// contains filtered or unexported fields
}
LoggerManager 全局日志管理器,负责管理所有logger实例 解决全局状态混乱问题,实现实例隔离
func (*LoggerManager) Configure ¶ added in v0.1.0
func (lm *LoggerManager) Configure(config *GlobalConfig) error
Configure 配置全局设置 注意:此操作会影响后续创建的logger,但不会影响已存在的实例
func (*LoggerManager) GetDefault ¶ added in v0.1.0
func (lm *LoggerManager) GetDefault() *Logger
GetDefault 获取默认logger实例 线程安全,支持延迟初始化
func (*LoggerManager) GetNamed ¶ added in v0.1.0
func (lm *LoggerManager) GetNamed(name string) *Logger
GetNamed 获取或创建命名logger实例 支持实例隔离,每个名称对应独立的logger
func (*LoggerManager) GetStats ¶ added in v0.1.0
func (lm *LoggerManager) GetStats() ManagerStats
GetStats 获取管理器统计信息
func (*LoggerManager) ListInstances ¶ added in v0.1.0
func (lm *LoggerManager) ListInstances() []string
ListInstances 列出所有已创建的logger实例名称
func (*LoggerManager) Reset ¶ added in v0.1.0
func (lm *LoggerManager) Reset()
Reset 重置管理器状态 清除所有实例,在测试中很有用
func (*LoggerManager) Shutdown ¶ added in v0.1.0
func (lm *LoggerManager) Shutdown()
Shutdown 关闭管理器 清理所有资源,程序退出时调用
type ManagerStats ¶ added in v0.1.0
Stats 返回管理器统计信息
type ModuleBuilder ¶ added in v0.1.0
type ModuleBuilder struct {
// contains filtered or unexported fields
}
ModuleBuilder 模块构建器,与现有系统集成
func EnableFormatter ¶ added in v0.1.0
func EnableFormatter(formatterType string, options ...modules.Config) *ModuleBuilder
EnableFormatter 全局方法:启用格式化器模块
func EnableMulti ¶ added in v0.1.0
func EnableMulti(strategy string, options ...modules.Config) *ModuleBuilder
EnableMulti 全局方法:启用多处理器模块
func EnableSyslog ¶ added in v0.1.0
func EnableSyslog(network, addr string, options ...modules.Config) *ModuleBuilder
EnableSyslog 全局方法:启用Syslog模块
func EnableWebhook ¶ added in v0.1.0
func EnableWebhook(endpoint string, options ...modules.Config) *ModuleBuilder
EnableWebhook 全局方法:启用Webhook模块
func NewModuleBuilder ¶ added in v0.1.0
func NewModuleBuilder(logger *Logger) *ModuleBuilder
NewModuleBuilder 创建新的模块构建器
func UseConfig ¶ added in v0.1.0
func UseConfig(configs []modules.ModuleConfig) *ModuleBuilder
UseConfig 全局方法:使用配置批量创建模块
func UseFactory ¶ added in v0.1.0
func UseFactory(name string, config modules.Config) *ModuleBuilder
UseFactory 全局方法:通过工厂创建并使用模块
func UseModule ¶ added in v0.1.0
func UseModule(module modules.Module) *ModuleBuilder
UseModule 全局方法:使用模块实例
func (*ModuleBuilder) Build ¶ added in v0.1.0
func (mb *ModuleBuilder) Build() *Logger
Build 构建并应用所有模块
func (*ModuleBuilder) UseConfig ¶ added in v0.1.0
func (mb *ModuleBuilder) UseConfig(configs []modules.ModuleConfig) *ModuleBuilder
UseConfig 使用配置批量创建模块
func (*ModuleBuilder) UseFactory ¶ added in v0.1.0
func (mb *ModuleBuilder) UseFactory(name string, config modules.Config) *ModuleBuilder
UseFactory 通过工厂创建并使用模块
func (*ModuleBuilder) UseModule ¶ added in v0.1.0
func (mb *ModuleBuilder) UseModule(module modules.Module) *ModuleBuilder
UseModule 添加模块实例
type ModuleDiagnostics ¶ added in v0.1.2
type ModuleDiagnostics struct {
Name string `json:"name"`
Type modules.ModuleType `json:"type"`
Enabled bool `json:"enabled"`
Healthy *bool `json:"healthy,omitempty"`
Metrics map[string]any `json:"metrics,omitempty"`
Priority int `json:"priority"`
}
ModuleDiagnostics 描述模块健康与指标信息。
func CollectModuleDiagnostics ¶ added in v0.1.2
func CollectModuleDiagnostics() []ModuleDiagnostics
CollectModuleDiagnostics 聚合已注册模块的健康状态与指标。
type ProgressBuilder ¶ added in v0.1.0
type ProgressBuilder struct {
// contains filtered or unexported fields
}
ProgressBuilder 进度条建造者,使用链式调用构建进度条配置 这个设计比原来的8个不同方法更加优雅和易用
func (*ProgressBuilder) Brackets ¶ added in v0.1.0
func (pb *ProgressBuilder) Brackets(left, right string) *ProgressBuilder
Brackets 设置左右括号
func (*ProgressBuilder) CustomChars ¶ added in v0.1.0
func (pb *ProgressBuilder) CustomChars(filled, head, empty string) *ProgressBuilder
CustomChars 设置自定义填充字符 自动将样式设置为StyleCustom
func (*ProgressBuilder) Duration ¶ added in v0.1.0
func (pb *ProgressBuilder) Duration(d time.Duration) *ProgressBuilder
Duration 设置自动进度持续时间 仅在未设置手动进度值时有效
func (*ProgressBuilder) Level ¶ added in v0.1.0
func (pb *ProgressBuilder) Level(level Level) *ProgressBuilder
Level 设置日志级别
func (*ProgressBuilder) Milliseconds ¶ added in v0.1.0
func (pb *ProgressBuilder) Milliseconds(ms int) *ProgressBuilder
Milliseconds 设置自动进度持续时间(毫秒) 向后兼容方法
func (*ProgressBuilder) ShowPercent ¶ added in v0.1.0
func (pb *ProgressBuilder) ShowPercent(show bool) *ProgressBuilder
ShowPercent 设置是否显示百分比
func (*ProgressBuilder) Start ¶ added in v0.1.0
func (pb *ProgressBuilder) Start()
Start 开始显示进度条 这是终端方法,执行实际的进度条显示
func (*ProgressBuilder) Style ¶ added in v0.1.0
func (pb *ProgressBuilder) Style(style ProgressStyle) *ProgressBuilder
Style 设置进度条样式
func (*ProgressBuilder) TimeFormat ¶ added in v0.1.0
func (pb *ProgressBuilder) TimeFormat(format string) *ProgressBuilder
TimeFormat 设置时间格式
func (*ProgressBuilder) To ¶ added in v0.1.0
func (pb *ProgressBuilder) To(writer io.Writer) *ProgressBuilder
To 设置输出目标
func (*ProgressBuilder) Value ¶ added in v0.1.0
func (pb *ProgressBuilder) Value(progress float64) *ProgressBuilder
Value 设置手动进度值 (0.0 - 1.0) 设置后将使用手动进度模式,不会自动递增
func (*ProgressBuilder) Width ¶ added in v0.1.0
func (pb *ProgressBuilder) Width(w int) *ProgressBuilder
Width 设置进度条宽度
type ProgressStyle ¶ added in v0.1.0
type ProgressStyle int
ProgressStyle 进度条样式枚举
const ( StyleDefault ProgressStyle = iota StyleArrows StyleDots StyleBlocks StyleCustom )
func (ProgressStyle) String ¶ added in v0.1.0
func (ps ProgressStyle) String() string
String 返回样式的字符串表示
type RecordRouter ¶ added in v0.1.2
type RuntimeSnapshot ¶ added in v0.1.3
type RuntimeSnapshot struct {
Level Level `json:"level"`
TextEnabled bool `json:"text_enabled"`
JSONEnabled bool `json:"json_enabled"`
DLPEnabled bool `json:"dlp_enabled"`
DLPVersion int64 `json:"dlp_version"`
Message string `json:"message,omitempty"`
}
RuntimeSnapshot 描述当前运行时开关状态,便于面板/CLI 展示。
func ApplyRuntimeOption ¶ added in v0.1.3
func ApplyRuntimeOption(option, value string) (RuntimeSnapshot, error)
ApplyRuntimeOption 通过字符串选项调整全局开关,返回更新后的状态。
func GetRuntimeSnapshot ¶ added in v0.1.3
func GetRuntimeSnapshot() RuntimeSnapshot
GetRuntimeSnapshot 返回当前运行时状态快照。
type SlogError ¶ added in v0.1.0
type SlogError struct {
Type ErrorType
Component string
Operation string
Field string
Expected string
Actual string
Details map[string]interface{}
Cause error
}
SlogError 结构化错误类型 提供更丰富的错误上下文信息,便于调试和错误处理
func NewConfigurationError ¶ added in v0.1.0
NewConfigurationError 创建配置错误
func NewDLPError ¶ added in v0.1.0
NewDLPError 创建DLP相关错误
func NewFormatterError ¶ added in v0.1.0
NewFormatterError 创建格式化器相关错误
func NewInitializationError ¶ added in v0.1.0
NewInitializationError 创建初始化错误
func NewInternalError ¶ added in v0.1.0
NewInternalError 创建内部错误
func NewInvalidInputError ¶ added in v0.1.0
NewInvalidInputError 创建输入无效错误
func NewModuleError ¶ added in v0.1.0
NewModuleError 创建模块相关错误
func NewProcessingError ¶ added in v0.1.0
NewProcessingError 创建处理错误
func (*SlogError) GetDetails ¶ added in v0.1.0
GetDetails 获取详细信息
func (*SlogError) WithDetails ¶ added in v0.1.0
WithDetails 添加详细信息