C# System.Net 跟踪日志 - 只跟踪一种方法而忽略其他方法?

标签 c# httpwebrequest trace system.diagnostics system.net

我正在按照此处所述使用 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/

相关文章:

asp.net - 为什么 ASP.NET 控件树跟踪中存在大量 LiteralControl?

c# - 无法使用 SevenZipExtractor 解压 .exe(7zip 自解压存档)

c# - 使用 MVC WebApi 2 在运行时更改数据库

c# - 异步 httpwebrequest 的一部分

java - 使用 Java 在 Google App Engine 中读取请求参数

trace - 将 "trace"个连续点转换为贝塞尔曲线的算法

c# - 使用 C# 的 Selenium WebDriver 中的项目列表

c# - SmtpClient: 连接尝试失败,因为连接方在一段时间后没有正确响应

c# - 在 Web 请求中接收 X509 客户端证书

java - 打印堆栈跟踪干扰打印行