Sdílet prostřednictvím


Doporučené nastavení pro trasování a protokolování zpráv

Toto téma popisuje doporučené nastavení trasování a protokolování zpráv pro různá operační prostředí.

V produkčním prostředí, pokud používáte zdroje trasování WCF, nastavte switchValue na hodnotu Upozornění. Pokud používáte zdroj trasování WCF System.ServiceModel , nastavte switchValue atribut na Warning a propagateActivity atribut na true. Pokud používáte uživatelem definovaný zdroj trasování, nastavte switchValue atribut na Warning, ActivityTracing. To lze provést ručně pomocí nástroje Editor konfigurace (SvcConfigEditor.exe). Pokud neočekáváte zhoršení výkonu, můžete atribut nastavit na switchValue ve všech dříve zmíněných případech, což vygeneruje poměrně velké množství dat trasování. Následující příklad ukazuje tato doporučená nastavení.

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

Pro nasazení do provozu nebo ladění prostředí zvolte Information nebo Verbose, spolu s ActivityTracing pro uživatelem definovaný nebo System.ServiceModel zdroj trasování. Pokud chcete vylepšit ladění, měli byste do konfigurace přidat další zdroj sledování (System.ServiceModel.MessageLogging), aby bylo možné protokolovat zprávy. Všimněte si, že switchValue atribut nemá žádný vliv na tento zdroj trasování.

Následující příklad ukazuje doporučené nastavení pomocí sdíleného naslouchacího XmlWriterTraceListener, který využívá.

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

Použití rozhraní WMI k úpravě nastavení

Pomocí rozhraní WMI můžete změnit nastavení konfigurace za běhu (povolením wmiProviderEnabled atributu v konfiguraci, jak je znázorněno v předchozím příkladu konfigurace). Pomocí rozhraní WMI v rámci CIM Studia můžete například změnit úrovně zdroje trasování z Upozornění na Informace za běhu. Měli byste vědět, že výkonové náklady živého ladění tímto způsobem mohou být velmi vysoké. Další informace o používání rozhraní WMI naleznete v tématu Použití nástroje Windows Management Instrumentation pro diagnostiku .

Povolení korelovaných událostí v trasování ASP.NET

ASP.NET události nenastavují ID korelace (ActivityID), pokud není zapnuté ASP.NET trasování událostí. Pokud chcete správně zobrazit korelované události, musíte zapnout trasování událostí ASP.NET pomocí následujícího příkazu v konzole příkazového řádku, který lze vyvolat tak, že přejdete na Start, Spustit a zadáte cmd.

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

Pokud chcete vypnout trasování událostí ASP.NET, použijte následující příkaz:

logman stop mytrace -ets  

Viz také