我正在使用Log4Net进行WCF服务。我想将一个自定义参数“REQUESTID”传递给log4net。
log4net patternlayout,如下所示:
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %-5level %-25aspnet-context{REQUESTID} %message%newline" />
</layout>
我试过以下:
OperationContext.Current.RequestContext.RequestMessage.Properties.Add("REQUESTID ",10001);
但它没有按预期工作。任何想法都将不胜感激。
答案 0 :(得分:0)
你的亲密,但并不完全。请参阅以下链接中的“上下文属性”部分,了解如何实现此目的。
http://logging.apache.org/log4net/release/manual/contexts.html
另请注意,在调用XmlConfigurator.Configure();
之前,您将要执行此操作。HTH, 埃里克
答案 1 :(得分:0)
我发现 aspnet-context 在这种情况下不起作用。
所以我们必须使用上下文属性,如下所示:
//log4net parameter for RequestId
log4net.GlobalContext.Properties["RequestId"] = requestId;
web.config更改:
<conversionPattern value="%date %-5level %-25%property{RequestId} %message%newline" />
希望这可以帮助有人找这个。