我正在按照此处所述使用 System.Net 跟踪:
http://ferozedaud.blogspot.com/2009/08/tracing-with-systemnet.html
但这会跟踪使用 HttpWebRequest 发出的每个请求。跟踪文件很大。我只想跟踪调用某个 URI 时发生的情况,例如:
https://api.example.com/oauth/RequestToken
因为在我的网络应用程序运行了几个小时后,连接到这个 URI 出现了问题。
我想忽略对其他 URI 的所有请求,例如:
https://api.example.com/Foo
因为这些请求工作正常,并且用我不需要的数据填满了日志。
最佳答案
您可能想看看 Message Filters (将页面向下滚动大约一半到名为“消息过滤器”的部分。)另一页 here专用于消息日志过滤器。这是对您的示例的配置应该是什么样子的有根据的猜测:
<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>
还有一个跟踪日志过滤器的自定义实现 here这可能会有帮助。
关于C# System.Net 跟踪日志 - 只跟踪一种方法而忽略其他方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7005357/