Получить Corelation Id в. NET ядре WebAPI, используя NLog? - PullRequest
0 голосов
/ 28 февраля 2020

Я новичок в. NET ядре. Как получить идентификатор корреляции для регистрации ответа, используя NLog ?

Ответы [ 2 ]

1 голос
/ 28 февраля 2020

Вы можете использовать ${activityid} для визуализации идентификатора корреляции трассировки System.Diagnostics.

Или, если вам нужно request.GetCorrelationId(), вы можете сделать это:

Вы можете сделать это:

// using NLog.Web package

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

и отображать как ${myCorrelationId}

0 голосов
/ 28 февраля 2020

Не уверен, что подразумевается под "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}}}"
...