Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu öğe, Windows Communication Foundation'ın (WCF) ileti günlüğü özellikleri için ayarları tanımlar.
<configuration>
<system.serviceModel>
<diagnostics>
<messageLogging>
Sözdizimi
<system.serviceModel>
<diagnostics>
<messageLogging logEntireMessage="Boolean"
logMalformedMessages="Boolean"
logMessagesAtServiceLevel="Boolean"
logMessagesAtTransportLevel="Boolean"
maxMessagesToLog="Integer"
maxSizeOfMessageToLog="Integer">
<filters>
<clear />
</filters>
</messageLogging>
</diagnostics>
</system.serviceModel>
Öznitelikler ve Öğeler
Öznitelikler, alt ve üst öğeler aşağıdaki bölümlerde açıklanmaktadır.
Attributes
| Özellik | Description |
|---|---|
logEntireMessage |
İletinin tamamının (ileti üst bilgisi ve gövde) günlüğe kaydedilip kaydedilmediğini belirten boole değeri. Varsayılan değer olan false, yalnızca ileti üst bilgisinin günlüğe kaydedildiği anlamına gelir. Bu ayar tüm ileti günlüğü düzeylerini (hizmet, aktarım ve hatalı biçimlendirilmiş) etkiler. |
logMalformedMessages |
Hatalı biçimlendirilmiş iletilerin günlüğe kaydedilip kaydedilmediğini belirten boole değeri. Hatalı biçimlendirilmiş iletiler için sayılmaz maxMessagesToLog. Varsayılan değer: false. |
logMessagesAtServiceLevel |
İletilerin hizmet düzeyinde izlenip izlenmeyeceğini belirten boole değeri (şifreleme ve aktarımla ilgili dönüşümlerden önce). Varsayılan değer: false. |
logMessagesAtTransportLevel |
İletilerin aktarım düzeyinde izlenip izlenmediğini belirten boole değeri. Yapılandırma dosyasında belirtilen tüm filtreler uygulanır ve yalnızca filtrelerle eşleşen iletiler izlenir. Varsayılan değer: false. |
maxMessagesToLog |
Günlüğe kaydedilecek en fazla ileti sayısını belirten pozitif bir tamsayı. Varsayılan değer 1000'dir. |
maxSizeOfMessageToLog |
Günlüğe kaydedilecek iletinin bayt cinsinden en büyük boyutunu belirten pozitif bir tamsayı. Sınırdan büyük iletiler günlüğe kaydedilmez. Bu ayar tüm izleme düzeylerini etkiler. Varsayılan değer 262144(0x4000). |
Alt Öğeler
| Öğe | Description |
|---|---|
| filters |
filters öğesi bir XPath filtreleri koleksiyonunu barındırıyor. Aktarım iletisi günlüğü etkinleştirildiğinde (logMessagesAtTransportLevel is true), yalnızca filtrelerle eşleşen iletiler günlüğe kaydedilir.Filtreler yalnızca aktarım katmanında uygulanır. Hizmet düzeyi ve hatalı biçimlendirilmiş ileti günlüğü filtrelerden etkilenmez. Bu öğenin tek özniteliği olan filterXpathFilter'dır.<filters> <add xmlns:soap="http://www.w3.org/2003/05/soap-envelope">/soap:Envelope</add> </filters> |
Üst Öğeler
| Öğe | Description |
|---|---|
| diagnostics | Çalışma zamanı denetimi ve yönetici denetimi için WCF ayarlarını tanımlar. |
Açıklamalar
İletiler yığında üç farklı düzeyde günlüğe kaydedilir: hizmet, aktarım ve yanlış biçimlendirilmiş. Her düzey ayrı ayrı etkinleştirilebilir.
Aktarım ve hizmet düzeylerinde belirli iletileri günlüğe kaydetmek için XPath filtreleri eklenebilir. Hiçbir filtre tanımlanmamışsa, tüm iletiler günlüğe kaydedilir. Filtreler yalnızca iletinin üst bilgilerine uygulanır. Gövde yoksayılır. WCF, performansı geliştirmek için ileti gövdesini yoksayar. Gövdenin içeriğine göre filtrelemek istiyorsanız, bunu sağlayan bir filtreye sahip özel bir dinleyici oluşturabilirsiniz.
İleti izlemeyi etkinleştirmek için bir izleme dinleyicisi oluşturmanız gerekir. Dinleyicinin kendisi, izleme mimarisiyle System.Diagnostics çalışan herhangi bir dinleyici olabilir. Aşağıdaki örnekte böyle bir dinleyicinin nasıl oluşturulacağı gösterilmektedir.
<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>