服务跟踪查看器未显示所有内容
本文关键字:显示 跟踪 服务 | 更新日期: 2023-09-27 17:59:55
我有一个IIS托管的WCF服务,要使用服务跟踪查看器进行跟踪。以下是web.config中的配置:
<configuration>
<!-- ... -->
<system.diagnostics>
<sources>
<source name="System.ServiceModel" switchValue="All,Information,ActivityTracing"
propagateActivity="true">
<listeners>
<add type="System.Diagnostics.DefaultTraceListener" name="Default">
<filter type="" />
</add>
<add name="ServiceModelTraceListener">
<filter type="" />
</add>
</listeners>
</source>
<source name="System.ServiceModel.MessageLogging" switchValue="All">
<listeners>
<add type="System.Diagnostics.DefaultTraceListener" name="Default">
<filter type="" />
</add>
<add name="ServiceModelTraceListener" />
</listeners>
</source>
</sources>
<sharedListeners>
<add initializeData="C:'Program Files'Archimede'TurniArc'log'web_tracelog.svclog"
type="System.Diagnostics.XmlWriterTraceListener, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
name="ServiceModelTraceListener" traceOutputOptions="DateTime">
<filter type="" />
</add>
</sharedListeners>
<trace autoflush="true" />
</system.diagnostics>
<!-- ... -->
<system.serviceModel>
<diagnostics>
<messageLogging maxMessagesToLog="10000"
logEntireMessage="true"
logMessagesAtServiceLevel="true"
logMalformedMessages="true"
logMessagesAtTransportLevel="true">
<filters>
<clear/>
</filters>
</messageLogging>
</diagnostics>
<!-- ... -->
</system.serviceModel>
</configuration>
我只是触及了它的表面,有很多选项和功能我还没有理解,但我真的无法解释某些困扰我的事情:
- 当调用web服务的方法时,我设法找到了我发送回的原始响应信封,但大多数时候请求似乎不在那里
- 更糟糕的是,有时.svclog文件甚至不包含任何活动,当我100%确定某些调用已被处理时,即使在iisreset之后也是如此
为什么?
感谢
我遇到了同样的问题,并搜索了建议,但没有找到任何直接可用的东西。经过一些实验,我发现:
我需要增加消息的最大大小,比如:
<system.serviceModel>
<diagnostics>
<messageLogging
logEntireMessage="true"
logMalformedMessages="false"
logMessagesAtServiceLevel="true"
logMessagesAtTransportLevel="false"
maxMessagesToLog="3000"
maxSizeOfMessageToLog="65000">
<filters>
<clear/>
</filters>
</messageLogging>
</diagnostics>
</system.serviceModel>
如果跟踪日志为空,则可能是刷新问题。在我自己的机器上调试时,我不得不停止asp.net开发服务器。