GoFrame 中间件里做 request id
请求 ID 是排障的最低成本工具。没有 request id,多服务日志只能靠时间猜;有了 request id,入口、业务、SQL 和下游调用可以串成一条线。
在 GoFrame 中可以用中间件检查请求头,没有就生成一个,并写回响应头。后续日志从 context 中取同一个值。
func RequestID(r *ghttp.Request) {
rid := r.Header.Get("X-Request-ID")
if rid == "" { rid = guid.S() }
r.Response.Header().Set("X-Request-ID", rid)
r.Middleware.Next()
}request id 不要承担用户身份含义,也不要把它当安全凭证。它只是追踪一次请求的技术标识。
上线后很多“偶发问题”都不是偶发,只是以前缺少串联证据。
分类:
GoFrame 实践
标签:
中间件 GoFrame 日志
版权申明
本文系作者 @blogger 原创发布在GoFrame 中间件里做 request id。未经许可,禁止转载。
评论
-- 评论已关闭 --
全部评论