HTTP请求ID与日志关联的实战

本文介绍了如何在Hertz框架中利用requestID中间件和hlog扩展,实现HTTP请求与日志的关联,便于追踪问题。通过自定义logrus Hook,确保每个请求的日志都携带请求ID,提升日志分析效率。
摘要由CSDN通过智能技术生成

HTTP请求ID与日志关联的实战

介绍

Hertz 作为一个高性能的 HTTP 框架,它提供了 requestid 中间件以及内置的 hlog 日志库与一些 hlog 日志组件的扩展 ,本文主要讲解如何将请求ID与日志关联方便用户查找日志。

实战

请求ID中间件介绍

Hertzrequestid 中间件是根据 Gin 框架的 requestid 修改并适配 Hertz 。它的主要作用是在请求的响应和 context 中添加 rquestid,用于唯一标识一次请求。

它的使用方式如下:

package main

import (
	"context"

	"github.com/cloudwego/hertz/pkg/app"
	"github.com/cloudwego/hertz/pkg/app/server"
	"github.com/cloudwego/hertz/pkg/common/utils"
	"github.com/cloudwego/hertz/pkg/protocol/consts"
	"github.com/hertz-contrib/requestid"
)

func main() {
   
	h := server.Default()

	h.Use(requestid.New())

	// Example ping request.
	h.GET("/ping", func(ctx context.Context, c *app.RequestContext) {
   
		c.JSON(consts.StatusOK, utils.H{
   "ping": "pong"})
	})

	h.Spin()
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值