如何写入配置文件中定义的跟踪侦听器

时间:2013-08-01 15:26:15

标签: c# wcf logging trace

我在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。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

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

try
{

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

请注意,这将写入web.config文件中定义的所有侦听器。阅读MSDN:How to: Create and Initialize Trace Listeners