【发布时间】:2015-02-27 01:11:29
【问题描述】:
我有一个 WCF 服务,我在其中使用 Trace.Writeline() 方法记录活动。它一直运行良好,但由于某种原因它最近停止工作。现在我只有来自“System.ServiceModel.MessageLogging”和“System.ServiceModel”的痕迹。我不记得我已经更改了配置,但有人可能已经更改了,但我不记得它是如何配置的。这是我现在拥有的:
首先,我定义了以下内容来记录所有消息:
<diagnostics>
<messageLogging logEntireMessage="true"
logMalformedMessages="true" logMessagesAtServiceLevel="true"
logMessagesAtTransportLevel="true" maxMessagesToLog="10000"
maxSizeOfMessageToLog="1000000" />
<endToEndTracing propagateActivity="true" activityTracing="true" messageFlowTracing="true" />
</diagnostics>
然后我在下面定义了跟踪源并告诉 TRACE 类应该将跟踪写入哪里:
<system.diagnostics>
<sources>
<source name="System.ServiceModel" switchValue="All">
<listeners>
<add name="traceListener"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData="E:\Projects\Logs\serviceTraces.svclog" />
</listeners>
</source>
<source name="System.ServiceModel.MessageLogging">
<listeners>
<add name="messagelistener"
type="System.Diagnostics.XmlWriterTraceListener" initializeData="E:\Projects\Logs\MyServiceMsg.svclog">
</add>
</listeners>
</source>
</sources>
<trace autoflush="true" indentsize="4">
<listeners>
<add name="textLogListener" type="System.Diagnostics.XmlWriterTraceListener" initializeData="E:\Projects\Logs\MyServiceCustomMsg.svclog" />
<remove name="Default" />
</listeners>
</trace>
</system.diagnostics>
由于我从“MyServiceMsg.svclog”和“MyServiceCustomMsg.svclog”获取跟踪信息,我认为这不是权限问题。
非常感谢任何帮助!
【问题讨论】: