SuperAPI AI 工具集

golang-logging

部署与运维

查看项目

更新于 10-15 22:13

技能介绍

用途:为 Go 服务提供结构化日志与可观测性标准(优先级 P1 STANDARD),适用于需要为 Go 服务添加结构化日志或追踪的场景。

主要原则:使用 JSON 或结构化文本,便于机器与人工阅读;采用 Debug、Info、Warn、Error 分级;日志中携带关联 ID(TraceID、RequestID)等上下文;避免 log.Fatal,库中应返回错误,仅 main 负责退出。

可选库:log/slog(推荐,Go 1.21 起为标准库,快速、结构化、零依赖);Zap(uber-go/zap,高性能,适用于 1.21 之前或需极高吞吐的场景);Zerolog(零分配、快速的 JSON 日志器)。

使用方式(以 slog 为例):在 main() 启动时创建 JSON handler;可选通过中间件注入请求级属性;使用 slog.With() 为每个请求添加关联 ID;通过 context 或依赖注入传递 logger。

反模式:生产环境不使用 fmt.Println,应改用 slog 或 zap 实现结构化分级日志;库中不要使用 log.Fatal,应返回错误,仅 main() 调用 os.Exit;不要使用无结构日志字符串,应通过 slog.Attr 等加入关联 ID 与结构化字段。

限制与未提供信息:资料未提供具体安装命令、完整代码示例、收费与价格、支持平台、性能数据及实际效果;相关资料仅包含上述原则、库列表、工作流与反模式,其余暂未提供。