Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Esse elemento define as configurações para os recursos de registro em log de mensagens do WCF (Windows Communication Foundation).
<configuração>
<system.serviceModel>
<Diagnostics>
<log de mensagens>
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 booliano que especifica se a mensagem inteira (cabeçalho e corpo da mensagem) é registrada. O padrão é false, o que significa que somente o cabeçalho da mensagem é registrado. Essa configuração afeta todos os níveis de registro em log de mensagens (serviço, transporte e malformados). |
logMalformedMessages |
Um valor booliano que especifica se as mensagens malformadas são registradas em log. Mensagens malformadas não contam para o maxMessagesToLog. O padrão é false. |
logMessagesAtServiceLevel |
Um valor booliano que especifica se as mensagens são rastreadas no nível do serviço (antes das transformações relacionadas à criptografia e ao transporte). O padrão é false. |
logMessagesAtTransportLevel |
Um valor booliano que especifica se as mensagens são rastreadas no nível de transporte. Todos os filtros especificados no arquivo de configuração são aplicados e somente as mensagens que correspondem aos filtros são rastreadas. O padrão é false. |
maxMessagesToLog |
Um inteiro positivo que especifica o número máximo de mensagens a serem registradas. O padrão é 1000. |
maxSizeOfMessageToLog |
Um inteiro positivo que especifica o tamanho máximo, em bytes, de uma mensagem para registrar em log. Mensagens maiores que o limite não serão registradas. 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 registro em log de mensagens de transporte estiver habilitado (logMessagesAtTransportLevel é true), somente as mensagens correspondentes aos filtros serão registradas.Os filtros são aplicados somente na camada de transporte. O nível de serviço e o registro em log de mensagens malformados não são afetados por filtros. O único atributo para esse elemento filteré um XpathFilter.<filters> <add xmlns:soap="http://www.w3.org/2003/05/soap-envelope">/soap:Envelope</add> </filters> |
Elementos pai
| Elemento | Description |
|---|---|
| diagnostics | Define as configurações do WCF para inspeção e controle de runtime para o administrador. |
Observações
As mensagens são registradas em três níveis diferentes na pilha: serviço, transporte e malformado. Cada nível pode ser ativado separadamente.
Os filtros XPath podem ser adicionados para registrar mensagens específicas nos níveis de transporte e serviço. Se nenhum filtro for definido, todas as mensagens serão registradas. Os filtros são aplicados somente aos cabeçalhos da mensagem. O corpo é ignorado. O WCF ignora o corpo da mensagem para melhorar o desempenho. Se você quiser filtrar com base no conteúdo do corpo, poderá criar um ouvinte personalizado com um filtro que o faça.
Você precisa criar um ouvinte de rastreamento para ativar o rastreamento de mensagens. O ouvinte em si pode ser qualquer ouvinte que funcione com a System.Diagnostics arquitetura de rastreamento. O exemplo a seguir demonstra como criar esse 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>