<messageLogging>
Dit element definieert de instellingen voor de mogelijkheden voor berichtregistratie van Windows Communication Foundation (WCF).
<Configuratie>
<system.serviceModel>
<Diagnostics>
<messageLogging>
Syntax
<system.serviceModel>
<diagnostics>
<messageLogging logEntireMessage="Boolean"
logMalformedMessages="Boolean"
logMessagesAtServiceLevel="Boolean"
logMessagesAtTransportLevel="Boolean"
maxMessagesToLog="Integer"
maxSizeOfMessageToLog="Integer">
<filters>
<clear />
</filters>
</messageLogging>
</diagnostics>
</system.serviceModel>
Kenmerken en elementen
In de volgende secties worden kenmerken, onderliggende elementen en bovenliggende elementen beschreven.
Kenmerken
Kenmerk | Beschrijving |
---|---|
logEntireMessage |
Een Booleaanse waarde die aangeeft of het hele bericht (berichtkop en hoofdtekst) wordt geregistreerd. De standaardwaarde is false , wat betekent dat alleen de berichtkop wordt geregistreerd. Deze instelling is van invloed op alle niveaus van berichtregistratie (service, transport en onjuist). |
logMalformedMessages |
Een Booleaanse waarde die aangeeft of onjuiste berichten worden geregistreerd. Onjuist gevormde berichten tellen niet mee voor de maxMessagesToLog . De standaardwaarde is false . |
logMessagesAtServiceLevel |
Een Booleaanse waarde die aangeeft of berichten worden getraceerd op serviceniveau (vóór versleutelings- en transportgerelateerde transformaties). De standaardwaarde is false . |
logMessagesAtTransportLevel |
Een Booleaanse waarde die aangeeft of berichten worden getraceerd op transportniveau. Alle filters die zijn opgegeven in het configuratiebestand worden toegepast en alleen berichten die overeenkomen met de filters worden getraceerd. De standaardwaarde is false . |
maxMessagesToLog |
Een positief geheel getal dat het maximum aantal berichten aangeeft dat moet worden vastgelegd. De standaardwaarde is 1000. |
maxSizeOfMessageToLog |
Een positief geheel getal dat de maximale grootte, in bytes, aangeeft van een bericht dat moet worden geregistreerd. Berichten die groter zijn dan de limiet, worden niet geregistreerd. Deze instelling is van invloed op alle traceringsniveaus. De standaardwaarde is 262144(0x4000). |
Onderliggende elementen
Element | Beschrijving |
---|---|
filters | Het filters element bevat een verzameling XPath-filters. Wanneer logboekregistratie van transportberichten is ingeschakeld (logMessagesAtTransportLevel is true ), worden alleen berichten geregistreerd die overeenkomen met de filters.Filters worden alleen toegepast op de transportlaag. Serviceniveau en onjuiste berichtregistratie worden niet beïnvloed door filters. Het enige kenmerk voor dit element, filter , is een XpathFilter.<filters> <add xmlns:soap="http://www.w3.org/2003/05/soap-envelope">/soap:Envelope</add> </filters> |
Bovenliggende elementen
Element | Beschrijving |
---|---|
diagnostische gegevens | Hiermee definieert u WCF-instellingen voor runtime-inspectie en -controle voor de beheerder. |
Opmerkingen
Berichten worden geregistreerd op drie verschillende niveaus in de stack: service, transport en onjuist. Elk niveau kan afzonderlijk worden geactiveerd.
XPath-filters kunnen worden toegevoegd om specifieke berichten te registreren op transport- en serviceniveau. Als er geen filters zijn gedefinieerd, worden alle berichten geregistreerd. Filters worden alleen toegepast op de kopteksten van het bericht. De hoofdtekst wordt genegeerd. WCF negeert de berichttekst om de prestaties te verbeteren. Als u wilt filteren op basis van de inhoud van de hoofdtekst, kunt u een aangepaste listener maken met een filter dat dit doet.
U moet een traceringslistener maken om berichttracering te activeren. De listener zelf kan elke listener zijn die werkt met de System.Diagnostics traceringsarchitectuur. In het volgende voorbeeld ziet u hoe u een dergelijke listener maakt.
<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>
Voorbeeld
<messageLogging logEntireMessage="true"
logMalformedMessages="true"
logMessagesAtServiceLevel="true"
logMessagesAtTransportLevel="true"
maxMessagesToLog="42"
maxSizeOfMessageToLog="42">
<filters>
<clear />
</filters>
</messageLogging>