我用的是System。下面描述的网络跟踪:
http://ferozedaud.blogspot.com/2009/08/tracing-with-systemnet.html但是这会跟踪HttpWebRequest的每个请求。跟踪文件非常大。我只想跟踪调用某个URI时发生的情况,例如:
https://api.example.com/oauth/RequestToken
因为在我的web应用程序运行了几个小时后,连接到这个URI有问题。
我想忽略对其他uri的所有请求,例如:
https://api.example.com/Foo
因为这些请求工作得很好,并且正在用我不需要的数据填充日志
您可能想要看一下Message Filters(向下滚动到页面的一半到名为"Message Filters"的部分)。这里的另一页专门介绍消息日志过滤器。以下是对您的示例的配置应该是什么样子的有根据的猜测:
<messageLogging logMessagesAtTransportLevel="true" logMessagesAtServiceLevel="true" >
<filters>
<add xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:a="http://www.w3.org/2005/08/addressing">
/soap:Envelope/soap:Header/a:Action[starts-with(text(),'https://api.example.com/oauth/RequestToken')]
</add>
</filters>
</messageLogging>
这里还有一个跟踪日志过滤器的自定义实现,可能会有所帮助。