【问题标题】:WCF Exception LoggingWCF 异常记录
【发布时间】:2014-05-01 20:55:18
【问题描述】:

是否可以从我的 WCF 服务记录 ThrowMaxReceivedMessageSizeExceeded 等异常。我知道可以在配置中增加消息大小,但我也希望它记录在我身边。我让 Log4Net 运行以捕获所有未处理的异常,但似乎这并没有被记录,所以可能已被处理。

【问题讨论】:

    标签: c# .net wcf


    【解决方案1】:

    您需要启用跟踪。可以发送到 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 提供的最后一个 link 并实施 Log4netTraceListener,您应该也可以使用 XYZ.exe.config 解决方案。

    【讨论】:

      【解决方案2】:

      默认情况下,WCF 使用 system.diagnostics 跟踪来记录异常。 见hereherehere

      您可以按照this 问题中的说明将系统跟踪重定向到 log4net。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多