【问题标题】:Get Corelation Id in .NET core WebAPI using NLog?使用 NLog 在 .NET 核心 Web API 中获取相关 ID?
【发布时间】:2020-02-29 03:17:51
【问题描述】:

我是 .NET 核心的新手。如何获取相关 ID 以使用 NLog 记录响应?

【问题讨论】:

标签: nlog


【解决方案1】:

您可以使用${activityid} 来呈现 System.Diagnostics 跟踪关联 ID。

或者如果你需要request.GetCorrelationId(),你可以这样做:

你可以这样做:

// using NLog.Web package

// register as soon as possible
AspNetLayoutRendererBase.Register("myCorrelationId", 
      (logEventInfo, httpContext, loggingConfiguration)
           => httpContext.Request.GetCorrelationId()); 

${myCorrelationId}一样渲染

【讨论】:

    【解决方案2】:

    不确定“CorrelationId”是什么意思,但您可以使用NLog.Web.AspNetCore

    layout="${activityid:whenEmpty=${mdlc:item=RequestId:whenEmpty=${aspnet-TraceIdentifier}}}"
    

    如果您使用的是 JsNLog,那么您可以这样做:

    layout="${aspnet-request:header=JSNLog-RequestId:whenEmpty=${mdlc:item=RequestId:whenEmpty=${aspnet-TraceIdentifier}}}"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-25
      • 1970-01-01
      • 1970-01-01
      • 2021-09-07
      • 1970-01-01
      • 2023-02-05
      • 2019-03-10
      • 1970-01-01
      相关资源
      最近更新 更多