對於一些疑難雜症,我們無法根據經驗去判斷的時候,只能用日誌來表述一切
下面看看對WCF 的日誌配置
在Configuration中插入以下節點
- <system.diagnostics>
- <sources>
- <source name="System.ServiceModel.MessageLogging" switchValue="Warning, ActivityTracing">
- <listeners>
- <add type="System.Diagnostics.DefaultTraceListener" name="Default">
- <filter type="" />
- </add>
- <add name="ServiceModelMessageLoggingListener">
- <filter type="" />
- </add>
- </listeners>
- </source>
- <source name="System.ServiceModel" switchValue="Warning, ActivityTracing"
- propagateActivity="true">
- <listeners>
- <add type="System.Diagnostics.DefaultTraceListener" name="Default">
- <filter type="" />
- </add>
- <add name="ServiceModelTraceListener">
- <filter type="" />
- </add>
- </listeners>
- </source>
- </sources>
- <sharedListeners>
- <add initializeData="app_messages.svclog"
- type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
- name="ServiceModelMessageLoggingListener" traceOutputOptions="Timestamp">
- <filter type="" />
- </add>
- <add initializeData="app_tracelog.svclog"
- type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
- name="ServiceModelTraceListener" traceOutputOptions="Timestamp">
- <filter type="" />
- </add>
- </sharedListeners>
- <trace autoflush="true" />
- </system.diagnostics>
在System.serviceModel 中插入以下節點
- <diagnostics wmiProviderEnabled="true" performanceCounters="All">
- <messageLogging logMalformedMessages="true" logMessagesAtTransportLevel="true" />
- </diagnostics>
ok , 當然還可以用配置管理器來配置 WCF 的日誌記錄。