0

我在 IIS 中托管了 WCF 服务。我将部分添加到 Web.config 以记录异常:

<system.diagnostics>
    <trace autoflush="true" />
    <sources>
      <source name="System.ServiceModel" switchValue="Critical, Error">
        <listeners>
          <add name="xmlTrace" type="System.Diagnostics.XmlWriterTraceListener" initializeData="ErrorLog.svclog" />
        </listeners>
      </source>
    </sources>
  </system.diagnostics>

如何将已处理的异常写入此日志?像这样的东西:

try
{

}
catch(Exception ex)
{
    Trace.Write(ex,"Error");
}

UPD:当我尝试在 WCF 请求中使用它时,Trace.Listeners 不包含在 Web.config 中定义的侦听器,仅包含写入 Visual Studio 输出的 DefaultTraceListener。任何想法为什么?

4

1 回答 1

0

您可以使用Trace.TraceError()写入跟踪侦听器:

try
{

}
catch(Exception ex)
{
    Trace.TraceError(ex.Message);
}

请注意,这将写入web.config文件中定义的所有侦听器。阅读 MSDN 上的更多信息:如何:创建和初始化跟踪侦听器

于 2013-08-01T16:47:15.210 回答