2016-09-30 3 views
1

В моих приложениях API веб-API .NET Framework 4.6.1 я использую свойство класса System.Diagnostics.Trace 'CorrelationManager, а также NLog для группировки сообщений журнала по запросу. К сожалению, похоже, что свойство CorrelationManager больше не существует на System.Diagnostics.Trace. У меня есть два вопроса:Есть ли стандартный эквивалент .NET для Trace.CorrelationManager?

  1. Есть ли замена концепции где-нибудь в стандарте .NET?
  2. Поддерживает ли NLog эту замену?
+0

Вы можете легко добавить его в NLog с некоторыми C# код: https://github.com/NLog/NLog/wiki/Extending % 20NLog # как к записи-а-заказ макет-визуализатор – Julian

ответ

3

Похоже, что Microsoft.AspNetCore.Http.HttpContext.TraceIdentifier - это то, что я ищу. NLog в настоящее время не поддерживает это.

1

Это уже поддерживается в версии 4.3.1 от NLog.Web. Используйте переменную ${aspnet-TraceIdentifier}.

Вы можете также использовать пользовательские один с пользовательской логики, например:

app.Use(next => { 
       return async context => { 
        context.TraceIdentifier = Guid.NewGuid().ToString(); 
        await next(context); 
       }; 
      }); 
Смежные вопросы