Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este elemento define as definições para as capacidades de registo de mensagens do Windows Communication Foundation (WCF).
<configuração>
<system.serviceModel>
<Diagnóstico>
<registoDeMensagens>
Sintaxe
<system.serviceModel>
<diagnostics>
<messageLogging logEntireMessage="Boolean"
logMalformedMessages="Boolean"
logMessagesAtServiceLevel="Boolean"
logMessagesAtTransportLevel="Boolean"
maxMessagesToLog="Integer"
maxSizeOfMessageToLog="Integer">
<filters>
<clear />
</filters>
</messageLogging>
</diagnostics>
</system.serviceModel>
Atributos e Elementos
As seções a seguir descrevem atributos, elementos filho e elementos pai.
Attributes
| Attribute | Description |
|---|---|
logEntireMessage |
Um valor booleano que especifica se toda a mensagem (cabeçalho e corpo da mensagem) está registada. O padrão é false, o que significa que apenas o cabeçalho da mensagem é registado. Esta configuração afeta todos os níveis de registo de mensagens (serviço, transporte e malformados). |
logMalformedMessages |
Um valor booleano que especifica se mensagens malformadas são registadas. Mensagens malformadas não contam para o maxMessagesToLog. A predefinição é false. |
logMessagesAtServiceLevel |
Um valor booleano que especifica se as mensagens são rastreadas ao nível do serviço (antes das transformações relacionadas com encriptação e transporte). A predefinição é false. |
logMessagesAtTransportLevel |
Um valor booleano que especifica se as mensagens são rastreadas ao nível do transporte. Quaisquer filtros especificados no ficheiro de configuração são aplicados, e apenas as mensagens que correspondem aos filtros são rastreadas. A predefinição é false. |
maxMessagesToLog |
Um inteiro positivo que especifica o número máximo de mensagens a registar. A predefinição é 1000. |
maxSizeOfMessageToLog |
Um inteiro positivo que especifica o tamanho máximo, em bytes, de uma mensagem a logar. Mensagens acima do limite não serão registadas. Essa configuração afeta todos os níveis de rastreamento. O padrão é 262144(0x4000). |
Elementos filho
| Elemento | Description |
|---|---|
| filters | O filters elemento contém uma coleção de filtros XPath. Quando o registo de mensagens de transporte está ativado (logMessagesAtTransportLevel é true), apenas as mensagens que correspondem aos filtros serão registadas.Os filtros são aplicados apenas na camada de transporte. O registo de mensagens por nível de serviço e malformados não são afetados pelos filtros. O único atributo para este elemento, filter, é um XpathFilter.<filters> <add xmlns:soap="http://www.w3.org/2003/05/soap-envelope">/soap:Envelope</add> </filters> |
Elementos Principais
| Elemento | Description |
|---|---|
| diagnostics | Define definições WCF para inspeção e controlo em tempo de execução para o administrador. |
Observações
As mensagens são registadas em três níveis diferentes da pilha: serviço, transporte e malformadas. Cada nível pode ser ativado separadamente.
Filtros XPath podem ser adicionados para registar mensagens específicas a nível de transporte e serviço. Se não forem definidos filtros, todas as mensagens são registadas. Os filtros são aplicados apenas aos cabeçalhos da mensagem. O corpo é ignorado. A WCF ignora o corpo da mensagem para melhorar o desempenho. Se quiseres filtrar com base no conteúdo do corpo, podes criar um ouvinte personalizado com um filtro que o faça.
Precisas de criar um ouvinte de rastreamento para ativar o rastreio de mensagens. O ouvinte em si pode ser qualquer ouvinte que trabalhe com a System.Diagnostics arquitetura de traçado. O exemplo seguinte demonstra como criar tal ouvinte.
<system.diagnostics>
<sources>
<source name="System.ServiceModel"
switchValue="Verbose">
<listeners>
<clear />
<add type="System.Diagnostics.DefaultTraceListener"
name="Default"
traceOutputOptions="None" />
<add name="ServiceModel Listener"
traceOutputOptions="None" />
</listeners>
</source>
<source name="System.ServiceModel.MessageLogging">
<listeners>
<clear />
<add type="System.Diagnostics.DefaultTraceListener"
name="Default"
traceOutputOptions="None" />
<add name="MessageLogging Listener"
traceOutputOptions="None" />
</listeners>
</source>
</sources>
<sharedListeners>
<add initializeData="C:\ItProTools\TraceLog.xml"
type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
name="ServiceModel Listener"
traceOutputOptions="LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack" />
<add initializeData="C:\ItProTools\MessageLog.log"
type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
name="MessageLogging Listener"
traceOutputOptions="LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack" />
</sharedListeners>
</system.diagnostics>
Example
<messageLogging logEntireMessage="true"
logMalformedMessages="true"
logMessagesAtServiceLevel="true"
logMessagesAtTransportLevel="true"
maxMessagesToLog="42"
maxSizeOfMessageToLog="42">
<filters>
<clear />
</filters>
</messageLogging>