このトピックでは、さまざまな動作環境で推奨されるトレースとメッセージ ログの設定について説明します。
運用環境の推奨設定
運用環境では、WCF トレース ソースを使用している場合は、 switchValue を警告に設定します。 WCF System.ServiceModel トレース ソースを使用している場合は、 switchValue 属性を Warning に設定し、 propagateActivity 属性を true に設定します。 ユーザー定義トレース ソースを使用している場合は、 switchValue 属性を Warning, ActivityTracing に設定します。 これは、 構成エディター ツール (SvcConfigEditor.exe) を使用して手動で行うことができます。 パフォーマンスの低下が予想されない場合は、前述のすべてのケースで switchValue 属性を Information に設定すると、非常に大量のトレース データが生成されます。 次の例では、これらの推奨設定を示します。
<configuration>
<system.diagnostics>
<sources>
<source name="System.ServiceModel"
switchValue="Warning"
propagateActivity="true" >
<listeners>
<add name="xml"/>
</listeners>
</source>
<source name="myUserTraceSource"
switchValue="Warning, ActivityTracing">
<listeners>
<add name="xml"/>
</listeners>
</source>
</sources>
<sharedListeners>
<add name="xml"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData="C:\logs\Traces.svclog" />
</sharedListeners>
</system.diagnostics>
<system.serviceModel>
<diagnostics wmiProviderEnabled="true">
</diagnostics>
</system.serviceModel>
</configuration>
配置またはデバッグの推奨設定
デプロイまたはデバッグ環境では、ユーザー定義またはInformationトレース ソースのVerboseと共に、ActivityTracingまたはSystem.ServiceModelを選択します。 デバッグを強化するには、メッセージ のログ記録を有効にするために、追加のトレース ソース (System.ServiceModel.MessageLogging) を構成に追加する必要もあります。
switchValue属性は、このトレース ソースには影響しません。
次の例では、 XmlWriterTraceListenerを利用する共有リスナーを使用して、推奨される設定を示します。
<configuration>
<system.diagnostics>
<sources>
<source name="System.ServiceModel"
switchValue="Information, ActivityTracing"
propagateActivity="true" >
<listeners>
<add name="xml"/>
</listeners>
</source>
<source name="System.ServiceModel.MessageLogging">
<listeners>
<add name="xml"/>
</listeners>
</source>
<source name="myUserTraceSource"
switchValue="Information, ActivityTracing">
<listeners>
<add name="xml"/>
</listeners>
</source>
</sources>
<sharedListeners>
<add name="xml"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData="C:\logs\Traces.svclog" />
</sharedListeners>
</system.diagnostics>
<system.serviceModel>
<diagnostics wmiProviderEnabled="true">
<messageLogging
logEntireMessage="true"
logMalformedMessages="true"
logMessagesAtServiceLevel="true"
logMessagesAtTransportLevel="true"
maxMessagesToLog="3000"
/>
</diagnostics>
</system.serviceModel>
</configuration>
WMI を使用した設定の変更
WMI を使用すると、実行時に構成設定を変更できます (前の構成例で示したように、構成で wmiProviderEnabled 属性を有効にします)。 たとえば、CIM Studio 内で WMI を使用して、トレース ソース レベルを警告から実行時の情報に変更できます。 この方法でのライブ デバッグのパフォーマンス コストは非常に高くなる可能性があることに注意してください。 WMI の使用の詳細については、「 診断に Windows Management Instrumentation を使用する」トピックを 参照してください。
ASP.NET トレースで相関イベントを有効にする
ASP.NET イベントは、ASP.NET イベント トレースが有効でない限り、関連付け ID (ActivityID) が設定されません。 関連付けられたイベントを正しく表示するには、コマンド コンソールで次のコマンドを使用して ASP.NET イベント トレースを有効にする必要があります。これは、 Start、 Run 、および type cmd に移動して呼び出すことができます。
logman start mytrace -pf logman.providers -o test.etl -ets
ASP.NET イベントのトレースをオフにするには、次のコマンドを使用します。
logman stop mytrace -ets