次の方法で共有


トレースとメッセージ ログの推奨設定

このトピックでは、さまざまな動作環境で推奨されるトレースとメッセージ ログの設定について説明します。

運用環境では、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 イベント トレースを有効にする必要があります。これは、 StartRun 、および type cmd に移動して呼び出すことができます。

logman start mytrace -pf logman.providers -o test.etl –ets  

ASP.NET イベントのトレースをオフにするには、次のコマンドを使用します。

logman stop mytrace -ets  

こちらも参照ください