O rastreamento do WCF pode ser mais complexo para configurar as configurações habituais do web.config para um site do IIS.
Se você deseja que as informações sejam retornadas ao cliente (o que deve ser feito apenas no desenvolvimento), tente a configuração includeExceptionDetailInFaults:
<system.serviceModel>
<serviceBehaviors>
<behavior name="metadataAndDebugEnabled">
<serviceDebug
includeExceptionDetailInFaults="true" />
<serviceMetadata
httpGetEnabled="true"
httpGetUrl="" />
</behavior>
</serviceBehaviors>
</system.serviceModel>
No entanto, uma ferramenta muito mais útil é o rastreamento para um arquivo que você pode processar com o aplicativo Service Trace Viewer. Isso geralmente está localizado em: C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\svctraceviewer.exe
em sua máquina onde você tem o SDK de desenvolvimento do Windows instalado.
Configurar o rastreamento do link
Ferramenta do Visualizador de rastreamento de serviço (SvcTraceViewer.exe)
link
Você pode registrar a atividade no nível de transporte e, se tiver segurança de mensagem, atividade de mensagem. Normalmente, um arquivo separado é criado para cada um. Um exemplo de uma maneira de configurar:
<system.diagnostics>
<sources>
<!-- NOTE: change to switchValue="Warning" for production -->
<!--source name="System.ServiceModel" switchValue="Warning" propagateActivity="true"-->
<source name="System.ServiceModel" switchValue="Warning, ActivityTracing" propagateActivity="true">
<listeners>
<add type="System.Diagnostics.DefaultTraceListener" name="Default">
<filter type=""/>
</add>
<add name="ServiceModelTraceListener">
<filter type=""/>
</add>
</listeners>
</source>
<!-- NOTE: change to switchValue="Warning" for production -->
<source name="System.ServiceModel.MessageLogging" switchValue="Warning, ActivityTracing">
<listeners>
<add type="System.Diagnostics.DefaultTraceListener" name="Default">
<filter type=""/>
</add>
<add name="ServiceModelMessageLoggingListener">
<filter type=""/>
</add>
</listeners>
</source>
</sources>
<sharedListeners>
<add initializeData="C:\logs\app_tracelog.svclog" type="System.Diagnostics.XmlWriterTraceListener, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" name="ServiceModelTraceListener" traceOutputOptions="Timestamp">
<filter type=""/>
</add>
<add initializeData="C:\logs\app_messages.svclog" type="System.Diagnostics.XmlWriterTraceListener, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" name="ServiceModelMessageLoggingListener" traceOutputOptions="Timestamp">
<filter type=""/>
</add>
</sharedListeners>
</system.diagnostics>
Supondo que tudo esteja configurado corretamente, os arquivos serão gerados. Quando a exceção ocorre, você pode copiar o arquivo para a máquina em que o svctraceviewer está instalado e abri-lo. Normalmente, você pode navegar para o datetime quando o problema ocorreu e encontrá-lo. Se você está peneirando muita atividade, o svctraceviewer tem excelente filtragem. As exceções aparecem destacadas como vermelhas no painel esquerdo. Você pode clicar na exceção para encontrar os detalhes da exceção.