- update ctx

master v1.0.5
李光春 2 years ago
parent 6de48c55c7
commit bb986d67a7

@ -1,3 +1,5 @@
package gotrace_id
const Version = "1.0.4"
const Version = "1.0.5"
const Nil = "%!s(<nil>)"

@ -8,22 +8,22 @@ import (
)
// CustomTraceIdContext 自定义设置跟踪编号上下文
func CustomTraceIdContext() context.Context {
return context.WithValue(context.Background(), "trace_id", gostring.GetUuId())
func CustomTraceIdContext(ctx context.Context) context.Context {
return context.WithValue(ctx, "trace_id", gostring.GetUuId())
}
// SetGinTraceIdContext 设置跟踪编号上下文
func SetGinTraceIdContext(c *gin.Context) context.Context {
return context.WithValue(context.Background(), "trace_id", GetGinTraceId(c))
func SetGinTraceIdContext(ctx context.Context, c *gin.Context) context.Context {
return context.WithValue(ctx, "trace_id", GetGinTraceId(c))
}
// GetTraceIdContext 通过上下文获取跟踪编号
func GetTraceIdContext(ctx context.Context) string {
traceId := fmt.Sprintf("%s", ctx.Value("trace_id"))
if len(traceId) <= 0 {
if traceId == Nil {
return ""
}
if traceId == "%!s(<nil>)" {
if len(traceId) <= 0 {
return ""
}
return traceId

@ -6,7 +6,7 @@ import (
)
func TestContext(t *testing.T) {
ctx1 := CustomTraceIdContext()
ctx1 := CustomTraceIdContext(context.Background())
t.Log(ctx1)
t.Log(GetTraceIdContext(ctx1))
ctx2 := context.Background()

@ -22,10 +22,10 @@ func SetGinTraceId() gin.HandlerFunc {
// GetGinTraceId 通过gin中间件获取跟踪编号
func GetGinTraceId(c *gin.Context) string {
traceId := fmt.Sprintf("%s", c.MustGet("trace_id"))
if len(traceId) <= 0 {
if traceId == Nil {
return ""
}
if traceId == "%!s(<nil>)" {
if len(traceId) <= 0 {
return ""
}
return traceId

Loading…
Cancel
Save