原文

Ocelot可以通过header的形式发送一个requestid。ocelot会将这个requestid转发到下游服务。

如果在日志配置中设置了IncludeScopestrue,那么request id会打在日志里面。

可以通过两种方式使用requestid。

1.Global - 配置如下GlobalConfiguration。这将作用于所有的请求

 "GlobalConfiguration": {
  "RequestIdKey": "OcRequestId"
}

推荐使用GlobalConfiguration,除非你想为一个ReRoute专门指定requestid。
2. ReRoute - ReRoute的优先级别比Global高。添加下面的配置到一个ReRoute下,它将覆盖GlobalConfiguration里面的requestid。

"RequestIdKey": "OcRequestId"

下面是日志界别为Debug的时候的日志信息:

dbug: Ocelot.Errors.Middleware.ExceptionHandlerMiddleware[0]
      requestId: asdf, previousRequestId: no previous request id, message: ocelot pipeline started,
dbug: Ocelot.DownstreamRouteFinder.Middleware.DownstreamRouteFinderMiddleware[0]
      requestId: asdf, previousRequestId: no previous request id, message: upstream url path is {upstreamUrlPath},
dbug: Ocelot.DownstreamRouteFinder.Middleware.DownstreamRouteFinderMiddleware[0]
      requestId: asdf, previousRequestId: no previous request id, message: downstream template is {downstreamRoute.Data.ReRoute.DownstreamPath},
dbug: Ocelot.RateLimit.Middleware.ClientRateLimitMiddleware[0]
      requestId: asdf, previousRequestId: no previous request id, message: EndpointRateLimiting is not enabled for Ocelot.Values.PathTemplate,
dbug: Ocelot.Authorisation.Middleware.AuthorisationMiddleware[0]
      requestId: 1234, previousRequestId: asdf, message: /posts/{postId} route does not require user to be authorised,
dbug: Ocelot.DownstreamUrlCreator.Middleware.DownstreamUrlCreatorMiddleware[0]
      requestId: 1234, previousRequestId: asdf, message: downstream url is {downstreamUrl.Data.Value},
dbug: Ocelot.Request.Middleware.HttpRequestBuilderMiddleware[0]
      requestId: 1234, previousRequestId: asdf, message: setting upstream request,
dbug: Ocelot.Requester.Middleware.HttpRequesterMiddleware[0]
      requestId: 1234, previousRequestId: asdf, message: setting http response message,
dbug: Ocelot.Responder.Middleware.ResponderMiddleware[0]
      requestId: 1234, previousRequestId: asdf, message: no pipeline errors, setting and returning completed response,
dbug: Ocelot.Errors.Middleware.ExceptionHandlerMiddleware[0]
      requestId: 1234, previousRequestId: asdf, message: ocelot pipeline finished,

相关文章:

  • 2022-12-23
  • 2021-08-27
  • 2021-05-16
  • 2022-12-23
  • 2021-12-05
  • 2021-04-04
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-06-22
  • 2022-02-01
  • 2021-10-01
  • 2022-12-23
  • 2022-01-11
  • 2022-12-23
相关资源
相似解决方案