2016-08-22 13 views
3

В Serilog я могу нажать несколько свойств для входа в систему со следующим кодом. Я делаю это в промежуточном программном обеспечении, чтобы перетаскивать свойства из контекста. Как это сделать с помощью LibLog?Контекстная регистрация в LibLog

using (LogContext.PushProperties(
         new PropertyEnricher(Constants.CorelationId, id), 
         new PropertyEnricher(Constants.ClientId, context.GetClientId()), 
         new PropertyEnricher(IdentityServiceConstants.RemoteIpAddress, context.Request.RemoteIpAddress))) 
       { 
        await next(); 
       } 

Где я могу узнать больше о OpenMappedContext и NestedContext?

ответ

1

Следующая, кажется, работает:

var logger = LogProvider.For<SomeType>(); 

using (LogProvider.OpenMappedContext("Foo", "12")) 
using (LogProvider.OpenMappedContext("Bar", "34")) 
using (LogProvider.OpenMappedContext("Last", "56")) 
{ 
    logger.InfoFormat("testing {somePlaceholder}", 78); 
} 

не кажется, Там будет много на пути документации относительно использования OpenMappedContext и OpenNestedContext. Тем не менее, код libLog src, похоже, просто всасывает метод PushProperty за кулисами для использования в OpenMappedContext.