Documentation
¶
Index ¶
- Constants
- func CleanANSI(text string) string
- func FormatConsoleCaller(caller string) string
- func FormatFields(fields map[string]any) (string, error)
- func FormatFileCaller(caller string) string
- func InferCallerFromMessage(message string) string
- func NewLegacyLogger(logger LegacyLogger) *slog.Logger
- func NewLogger(cfg *configv1.Logger) (*slog.Logger, error)
- func NewLoggerProvider(cfg *configv1.Logger, appInfo *configv1.AppInfo) *slog.Logger
- func NewMultiHandler(handlers ...slog.Handler) slog.Handler
- func NewMultiLogger(handlers ...slog.Handler) *slog.Logger
- func NewStdLogger() *slog.Logger
- func ParseCaller(value any) string
- func Register(typ Type, f FactoryFunc) error
- func Unregister(typ Type) bool
- type Entry
- type FactoryFunc
- type Field
- type LegacyLogger
- type Type
Constants ¶
const (
// CallerKey 表示日志调用位置字段名。
CallerKey = "caller"
)
Variables ¶
This section is empty.
Functions ¶
func FormatConsoleCaller ¶ added in v0.0.29
FormatConsoleCaller 格式化控制台 caller,保留可点击的绝对源码路径。
func FormatFields ¶ added in v0.0.29
FormatFields 将结构化字段编码为与 zap 控制台一致的单行 JSON。
func FormatFileCaller ¶ added in v0.0.29
FormatFileCaller 格式化文件或远程日志 caller,输出“Go module/相对路径:行号”。
func InferCallerFromMessage ¶ added in v0.0.29
InferCallerFromMessage 尝试从日志消息首段提取“文件:行号”调用位置。
func NewLegacyLogger ¶
func NewLegacyLogger(logger LegacyLogger) *slog.Logger
NewLegacyLogger 将旧版 Kratos Logger 适配为 Kratos v3 使用的 slog.Logger。
func NewLoggerProvider ¶
NewLoggerProvider 创建一个新的日志记录器提供者 它会从 cfg 创建具体 logger,并为 logger 附加 service.* 标准字段。
func NewMultiHandler ¶ added in v0.0.27
NewMultiHandler 创建向多个 slog Handler 分发日志的复合 Handler。
func NewMultiLogger ¶ added in v0.0.27
NewMultiLogger 创建向多个 slog Handler 分发日志的 Logger。
func ParseCaller ¶ added in v0.0.29
ParseCaller 将 caller 值规范化为斜杠分隔的“文件:行号”格式。
func Unregister ¶
Unregister removes a registered factory by Type. It returns true if a factory was removed. Use with caution in concurrent environments (primarily intended for tests).
Types ¶
type Entry ¶ added in v0.0.29
type Entry struct {
// Message 为日志正文。
Message string
// Caller 为规范化后的“文件:行号”。
Caller string
// Fields 为过滤后按原始顺序保留的业务字段。
Fields []Field
}
Entry 描述旧版 Kratos key/value 日志解析后的统一条目。
func ParseLegacyEntry ¶ added in v0.0.29
ParseLegacyEntry 解析旧版 Kratos key/value 日志并过滤重复的标准字段。
type FactoryFunc ¶
func GetFactory ¶
func GetFactory(typ Type) (FactoryFunc, bool)
GetFactory returns a registered FactoryFunc for a given Type and whether it existed. Safe for concurrent use.
type LegacyLogger ¶
LegacyLogger 兼容 Kratos v2 风格的 key/value 日志实现。