Megosztás a következőn keresztül:


<messageLogging>

Ez az elem határozza meg a Windows Communication Foundation (WCF) üzenetnaplózási képességeinek beállításait.

<Konfigurációs>
  <system.serviceModel>
    <Diagnosztika>
      <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>

Attribútumok és elemek

Az alábbi szakaszok az attribútumokat, a gyermekelemeket és a szülőelemeket ismertetik.

Attribútumok

Attribútum Leírás
logEntireMessage Logikai érték, amely meghatározza, hogy a rendszer naplózza-e a teljes üzenetet (üzenetfejlécet és -törzset). Az alapértelmezett érték a false, ami azt jelenti, hogy csak az üzenetfejléc van naplózva. Ez a beállítás minden üzenetnaplózási szintet érint (szolgáltatás, átvitel és helytelen formátumú).
logMalformedMessages Logikai érték, amely meghatározza, hogy a rendszer naplózza-e a helytelen formátumú üzeneteket. A helytelen formátumú üzenetek nem számítanak bele a értékbe maxMessagesToLog. A mező alapértelmezett értéke: false.
logMessagesAtServiceLevel Logikai érték, amely meghatározza, hogy az üzenetek a szolgáltatás szintjén vannak-e nyomon követve (a titkosítással és az átvitelsel kapcsolatos átalakítások előtt). A mező alapértelmezett értéke: false.
logMessagesAtTransportLevel Logikai érték, amely meghatározza, hogy az üzenetek nyomkövetése az átviteli szinten legyen-e. A konfigurációs fájlban megadott szűrőket alkalmazza a rendszer, és csak a szűrőknek megfelelő üzenetek lesznek nyomon követve. A mező alapértelmezett értéke: false.
maxMessagesToLog Pozitív egész szám, amely a naplózandó üzenetek maximális számát határozza meg. Az alapértelmezett érték 1000.
maxSizeOfMessageToLog Pozitív egész szám, amely egy naplózandó üzenet maximális méretét adja meg bájtban. A korlátnál nagyobb üzeneteket a rendszer nem naplózza. Ez a beállítás minden nyomkövetési szintet érint. Az alapértelmezett érték a 262144(0x4000).

Gyermekelemek

Elem Leírás
szűrők Az filters elem XPath-szűrők gyűjteményét tartalmazza. Ha az átviteli üzenetek naplózása engedélyezve van (logMessagesAtTransportLevel is true), csak a szűrőknek megfelelő üzenetek lesznek naplózva.

A szűrőket csak az átviteli rétegen alkalmazza a rendszer. A szűrők nem befolyásolják a szolgáltatásszintet és a helytelen formátumú üzenetek naplózását.

Ennek az elemnek filteraz egyetlen attribútuma az XpathFilter.

<filters> <add xmlns:soap="http://www.w3.org/2003/05/soap-envelope">/soap:Envelope</add> </filters>

Szülőelemek

Elem Leírás
diagnosztika WcF-beállításokat határoz meg a futtatókörnyezet felügyeletéhez és felügyeletéhez a rendszergazda számára.

Megjegyzések

Az üzenetek naplózása a verem három különböző szintjén van: szolgáltatás, átvitel és helytelen formátumú. Minden szint külön aktiválható.

Az XPath-szűrők hozzáadhatók adott üzenetek naplózásához az átviteli és szolgáltatási szinten. Ha nincs definiálva szűrő, a rendszer minden üzenetet naplóz. A szűrők csak az üzenet fejlécére lesznek alkalmazva. A rendszer figyelmen kívül hagyja a törzset. A WCF figyelmen kívül hagyja az üzenettörzset a teljesítmény javítása érdekében. Ha a törzs tartalma alapján szeretne szűrni, létrehozhat egy egyéni figyelőt egy erre szolgáló szűrővel.

Létre kell hoznia egy nyomkövetési figyelőt az üzenetkövetés aktiválásához. Maga a figyelő bármilyen figyelő lehet, amely együttműködik a nyomkövetési System.Diagnostics architektúrával. Az alábbi példa bemutatja, hogyan hozhat létre ilyen figyelőt.

<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>

Példa

<messageLogging logEntireMessage="true"
                logMalformedMessages="true"
                logMessagesAtServiceLevel="true"
                logMessagesAtTransportLevel="true"
                maxMessagesToLog="42"
                maxSizeOfMessageToLog="42">
  <filters>
    <clear />
  </filters>
</messageLogging>

Lásd még