到这一章目前为止,我们已经确定了手动使用基于XML的方法来通过更新配置文件开启消息跟踪和消息日志功能。
实际上,有一个更加容易和更不容易出错的方式来使用SDK工具添加并修改配置设置。如果Windows SDK已经安装了,编辑器可以在所有程序->微软Windows SDK->工具下找到。然而,在Visual Studio 中你可以通过右键一个配置文件并选择编辑WCF配置文件来快速的启动编辑器(如果这里没有可以通过工具->WCF 配置编辑器找到)。
让我们在服务工程的App.config文件中使用服务配置编辑器。右键SelfHost服务工程的App.config 文件,选择编辑WCF配置,并从配置面板选择诊断节点。
为了开启消息日志和消息跟踪功能,点击开启MessageLogging并点击开启跟踪超链接。这样做将像图片9.1那样配置系统。
图片9.1 开启跟踪和MessageLogging
注意监听器和源现在已经在左边面板上显示。你现在可以在每个部分单击超链接来配置其他相关选项。
跟踪选项
一旦开启了跟踪服务,通过点击跟踪级别标签旁边的链接来浏览可用的选项。
这里你可以选择开启活动传送和跟踪(在本章的之前部分描述,都是典型开启)以及从关闭到详细的信息详细级别。记住跟踪级别将影响由跟踪日志使用的空间大小。一个大的日志更加不容易查找,所以你应该通常选择最新的必要的详细日志。
日志选项
为了访问消息日志设置对话框,在MessageLogging部分单击日志级别标签旁的链接。正如之前描述的,你可以选择记录一下三种类型消息的任意一种: 那些严重错误的,由消息层接收或者发送的消息,准备发送或者刚刚从传输信道接收到的消息。
在左边面板的诊断节点内单击消息日志元素将会显示如图片9.2 显示的高级日志设置选项。
图片9.2 高级消息日志设置
这些选项影响ServiceModel.MessageLogging源的行为。它们直接与<messageLogging>配置节点关联,它们的默认值和使用目的在之前的表9.2中已经描述了。
早些时候,我们展示了消息日志支持过滤器的概念来仅记录那些通过特殊XPath过滤器的消息。在服务配置编辑器中的消息日志节点在任务面板暴露了一个新的XPath过滤器选项。图片9.3显示了我们之前在服务配置编辑器中使用的相同的XPath过滤器。
图片9.3 消息日志XPath过滤器
工具允许你确定搜索节点的最大数目以及列表通常使用的命名空间,和每个节点的前缀一起。如果你需要的话你可以添加更多的命名空间并且通过你的XPath表达式中的前缀引用它们。
配置源
允许通过服务配置编辑器开启跟踪将自动配置System.ServiceModel和System.ServiceModel..MessageLogging跟踪源。为了查看它们,在配置面板展开诊断/源节点。选额System.ServiceModel源你将看到图9.4的设置。
图片9.4 跟踪源设置
在屏幕上,你可以查看或者修改详细层次以及是否将会使用活动跟踪和传播。注意活动跟踪和传播仅当使用跟踪监听器时才可用,使用消息日志监听器时不可用。
配置监听器
返回主诊断窗口(图片9.1显示),你可以通过点击每个监听器的名字(例如,ServiceModelTraceListener.)链接来访问监听器细节设置。这些选项,在图片9.5中显示,允许你确定监听器的目标文件和包括每个监听器或者消息的多个详细选项。
钩选框与System.Diagnostics.TraceOptions枚举集合关联。基本的选项包括跟踪源的Timestamp, Process ID, Thread ID, Callstack, DateTime. 逻辑操作栈包括跟踪的相关”栈”,跟踪的相关必要历史记录,它们与环境问题回调相比不是那么必要。
图片9.5 监听器设置
可以通过在配置面板展开监听节点并单击一个监听器来查看每个监听器的大概配置。图片9.6显示了每个监听器的大概选项。
图片9.6 详细的监听器配置
这里你可以快速的查看或者改变所有的监听器配置选项。