WCF异常日志
本文关键字:日志 异常 WCF | 更新日期: 2023-09-27 17:52:50
是否可以从我的WCF服务中记录像ThrowMaxReceivedMessageSizeExceeded这样的异常?我知道消息大小可以在配置中增加,但我也希望它在我这边记录。我有Log4Net运行捕捉所有未处理的异常,但似乎这是没有得到记录,所以可能是处理。
您需要启用Tracing。可以发送到Nlog。我的XYZ.exe.config有一个部分,看起来像这样:
<system.diagnostics>
<sources>
<source name="System.ServiceModel" switchValue="Error" propagateActivity="true" >
<listeners>
<add name="nlog"/>
</listeners>
</source>
<!--source name="System.ServiceModel.MessageLogging">
<listeners>
<add name="nlog" />
</listeners>
</source-->
</sources>
<sharedListeners>
<add name="nlog" type="NLog.NLogTraceListener, NLog" />
</sharedListeners>
</system.diagnostics>
注意:我在XYZ.exe.config中也有NLog配置!
编辑
我刚意识到你在说log4net。不是NLog。
如果您遵循StephaneT提供的最后一个链接并实现Log4netTraceListener
,您应该也能够使用XYZ.exe.config解决方案。
默认情况下,WCF使用system。诊断跟踪以记录异常。请看这里,这里和这里
您可以将系统跟踪重定向到log4net,如本问题所述。