logging

package
v0.7.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 24, 2026 License: MIT Imports: 5 Imported by: 0

Documentation

Overview

Package logging 统一项目内 operation diagnostics 的结构化输出,不配置全局 logger。

Index

Constants

View Source
const (
	ResultSuccess        = constants.LogResultSuccess
	ResultError          = constants.LogResultError
	ResultRateLimitRetry = constants.LogResultRateLimitRetry
)

Variables

This section is empty.

Functions

func LogOperation

func LogOperation(logger *slog.Logger, event OperationEvent)

LogOperation 仅输出固定的安全字段。error result 使用 error level,其余结果为 info;错误正文由调用链返回给调用方,不复制进 operation diagnostics。

func LogRateLimitRetry

func LogRateLimitRetry(logger *slog.Logger, retryAfter time.Duration, attempt int)

LogRateLimitRetry 记录已解析的等待时长和唯一的重试序号;不记录 Retry-After 原文、 请求 URL、鉴权 header 或响应 body。

func OrDiscard

func OrDiscard(logger *slog.Logger) *slog.Logger

OrDiscard 将可选 logger 规范为明确的 discard logger;SDK 与服务边界绝不回退到 slog.Default,避免库调用污染宿主程序的日志协议。

Types

type OperationEvent

type OperationEvent struct {
	Component string
	Operation string
	Backend   string
	Duration  time.Duration
	Result    string
	ErrorCode string
	Status    int
	// TransportKind 只接受公开枚举;不能把网络错误文本放入日志。
	TransportKind string
	IllustID      int64
	UserID        int64
}

OperationEvent 是可跨边界关联的最小诊断记录。它只接受稳定元数据,避免调用方把 URL、header、refresh token 或上游响应体放入日志。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL