2016-08-22 2 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コードは、OpenMappedContextで使用するための背後にあるPushPropertyメソッドを吸い込んでいるようです。

関連する問題