Aracılığıyla paylaş


Nasıl yapılır: İzleme Anahtarları Oluşturma ve Başlatma

Not

Bu makale .NET Framework'e özgüdür. .NET 6 ve sonraki sürümleri de dahil olmak üzere daha yeni .NET uygulamaları için geçerli değildir.

İzleme anahtarları, izleme çıkışını etkinleştirmenizi, devre dışı bırakmanızı ve filtrelemenizi sağlar.

İzleme anahtarı oluşturma ve başlatma

İzleme anahtarlarını kullanmak için önce bunları oluşturmanız ve kodunuza yerleştirmeniz gerekir. Anahtar nesneleri oluşturabileceğiniz önceden tanımlanmış iki sınıf vardır: System.Diagnostics.BooleanSwitch sınıfı ve System.Diagnostics.TraceSwitch sınıfı. BooleanSwitch Yalnızca bir izleme iletisinin görünüp görünmediğini düşünüyorsanız kullanırsınız; izleme düzeyleri arasında ayrım yapmak istiyorsanız kullanırsınızTraceSwitch. kullanıyorsanız TraceSwitch, kendi hata ayıklama iletilerinizi tanımlayabilir ve bunları farklı izleme düzeyleriyle ilişkilendirebilirsiniz. her iki tür anahtarı da izleme veya hata ayıklama ile kullanabilirsiniz. Varsayılan olarak, a BooleanSwitch devre dışıdır ve TraceSwitch düzeyi TraceLevel.Offolarak ayarlanır. İzleme anahtarları oluşturulabilir ve kodunuzun bunları kullanabilecek herhangi bir bölümüne yerleştirilebilir.

Kodda izleme düzeyleri ve diğer yapılandırma seçeneklerini ayarlayabilmenize rağmen, anahtarlarınızın durumunu yönetmek için yapılandırma dosyasını kullanmanızı öneririz. Bunun nedeni, yapılandırma sistemindeki anahtarlarınızın yapılandırmasını yönetmek size daha fazla esneklik sağlar; uygulamanızı yeniden derlemeden çeşitli anahtarları açıp kapatabilir ve düzeyleri değiştirebilirsiniz.

İzleme anahtarı oluşturmak ve başlatmak için

  1. Bir anahtarı tür veya tür System.Diagnostics.BooleanSwitchSystem.Diagnostics.TraceSwitch olarak tanımlayın ve anahtarın adını ve açıklamasını ayarlayın.

  2. İzleme anahtarınızı yapılandırın. Daha fazla bilgi için bkz . İzleme anahtarlarını yapılandırma.

    Aşağıdaki kod, her türden biri olan iki anahtar oluşturur:

    Dim dataSwitch As New BooleanSwitch("Data", "DataAccess module")
    Dim generalSwitch As New TraceSwitch("General", "Entire application")
    
    System.Diagnostics.BooleanSwitch dataSwitch =
       new System.Diagnostics.BooleanSwitch("Data", "DataAccess module");
    System.Diagnostics.TraceSwitch generalSwitch =
       new System.Diagnostics.TraceSwitch("General",
       "Entire application");
    

İzleme anahtarlarını yapılandırma

Uygulamanız dağıtıldıktan sonra da uygulamanızdaki izleme anahtarlarını yapılandırarak izleme çıkışını etkinleştirebilir veya devre dışı bırakabilirsiniz. Anahtarı yapılandırmak, bir dış kaynaktan başlatıldıktan sonra değerini değiştirmek anlamına gelir. Yapılandırma dosyasını kullanarak anahtar nesnelerinin değerlerini değiştirebilirsiniz. İzleme anahtarını, dinleyicilere geçirip iletmediği iletilerin miktarını ve türünü belirleyerek açmak ve kapatmak veya düzeyini ayarlamak için yapılandırabilirsiniz.

Anahtarlarınız .config dosyası kullanılarak yapılandırılır. Bir Web uygulaması için bu, projeyle ilişkili Web.config dosyasıdır. Bir Windows uygulamasında, bu dosya (uygulama adı).exe.config olarak adlandırılır. Dağıtılan bir uygulamada, bu dosya yürütülebilir dosyayla aynı klasörde bulunmalıdır.

Uygulamanız bir anahtarın örneğini ilk kez oluşturan kodu yürüttüğünde, adlandırılmış anahtarla ilgili izleme düzeyi bilgileri için yapılandırma dosyasını denetler. İzleme sistemi, yapılandırma dosyasını belirli bir anahtar için yalnızca bir kez inceler; uygulamanız anahtarı ilk kez oluşturur.

Dağıtılan bir uygulamada, uygulamanız çalışmadığında anahtar nesnelerini yeniden yapılandırarak izleme kodunu etkinleştirirsiniz. Bu genellikle anahtar nesnelerinin açılıp kapatılmasını veya izleme düzeylerinin değiştirilmesini ve ardından uygulamanızın yeniden başlatılmasını içerir.

Bir anahtarın örneğini oluşturduğunuzda, bunu iki bağımsız değişken belirterek de başlatırsınız: displayName bağımsız değişkeni ve açıklama bağımsız değişkeni. Oluşturucunun displayName bağımsız değişkeni, sınıf örneğinin Switch özelliğini ayarlarSwitch.DisplayName. displayName, .config dosyasında anahtarı yapılandırmak için kullanılan addır ve açıklama bağımsız değişkeni anahtarın kısa bir açıklamasını ve hangi iletileri denetlediğini döndürmelidir.

Yapılandırılacak anahtarın adını belirtmeye ek olarak, anahtar için bir değer de belirtmeniz gerekir. Bu değer bir Tamsayıdır. içinBooleanSwitch, 0 değeri Kapalı'ya, sıfır olmayan değerler ise Açık'a karşılık gelir. içinTraceSwitch, 0,1,2,3 ve 4 sırasıyla Kapalı, Hata, Uyarı, Bilgi ve Ayrıntılı'ya karşılık gelir. 4'ten büyük sayılar Verbose olarak, sıfırdan küçük sayılar ise Kapalı olarak değerlendirilir.

Not

.NET Framework sürüm 2.0'da, bir anahtarın değerini belirtmek için metin kullanabilirsiniz. Örneğin, true bir BooleanSwitch veya için gibi Error bir numaralandırma değerini temsil eden metin için TraceSwitch. Çizgi <add name="myTraceSwitch" value="Error" /> ile eşdeğerdir <add name="myTraceSwitch" value="1" />.

Son kullanıcıların uygulamanın izleme anahtarlarını yapılandırabilmesi için uygulamanızdaki anahtarlar hakkında ayrıntılı belgeler sağlamanız gerekir. Hangi anahtarların neyi ve nasıl açılıp kapatacaklarını denetleyen anahtarların ayrıntılarını vermelisiniz. Son kullanıcınıza açıklamalarda uygun Yardım'a sahip bir .config dosyası da sağlamanız gerekir.

İzleme anahtarlarını yapılandırmak için

  1. İzleme anahtarlarını kullanmak için önce bunları oluşturmanız ve izleme anahtarı oluşturma ve başlatma bölümünde açıklandığı gibi kodunuza yerleştirmeniz gerekir.

  2. Projeniz bir yapılandırma dosyası (app.config veya Web.config) içermiyorsa, Proje menüsünden Yeni Öğe Ekle'yi seçin.

    • Visual Basic:Yeni Öğe Ekle iletişim kutusunda Uygulama Yapılandırma Dosyası'nı seçin.

      Uygulama yapılandırma dosyası oluşturulur ve açılır. Bu, kök öğesi olan bir XML belgesidir <configuration>.

    • Visual C#:Yeni Öğe Ekle iletişim kutusunda XML Dosyası'nı seçin. Bu dosyaya app.config adını verin. XML düzenleyicisinde, XML bildiriminden sonra aşağıdaki XML'yi ekleyin:

      <configuration>
      </configuration>
      

      Projeniz derlendiğinde app.config dosyası proje çıktı klasörüne kopyalanır ve applicationname.exe.config olarak yeniden adlandırılır.

  3. Etiketinden <configuration> sonra ancak etiketin </configuration> önüne anahtarlarınızı yapılandırmak için uygun XML'yi ekleyin. Aşağıdaki örneklerde, DisplayName özelliğine sahip booleanSwitch ve DisplayName özelliğine DataMessageSwitch sahip bir TraceSwitch gösterilmektedirTraceLevelSwitch.

    <system.diagnostics>
       <switches>
          <add name="DataMessagesSwitch" value="0" />
          <add name="TraceLevelSwitch" value="0" />
       </switches>
    </system.diagnostics>
    

    Bu yapılandırmada her iki anahtar da kapalıdır.

  4. Önceki örnekte gösterildiği gibi bir BooleanSwitch'i açmanız gerekiyorsa, Değer değerini 0 dışında bir tamsayı olarak değiştirin.DataMessagesSwitch

  5. Önceki örnekte gösterildiği gibi bir TraceSwitch'i açmanız gerekiyorsa, Değer ayarını uygun düzey ayarıyla (1 ile 4) değiştirin.TraceLevelSwitch

  6. Son kullanıcının anahtarları uygun şekilde yapılandırmak için hangi değerleri değiştireceğini net bir şekilde anabilmesi için .config dosyasına açıklamalar ekleyin.

    Aşağıdaki örnekte açıklamalar da dahil olmak üzere son kodun nasıl görünebileceği gösterilmektedir:

    <system.diagnostics>
       <switches>
          <!-- This switch controls data messages. In order to receive data
             trace messages, change value="0" to value="1" -->
          <add name="DataMessagesSwitch" value="0" />
          <!-- This switch controls general messages. In order to
             receive general trace messages change the value to the
             appropriate level. "1" gives error messages, "2" gives errors
             and warnings, "3" gives more detailed error information, and
             "4" gives verbose trace information -->
          <add name="TraceLevelSwitch" value="0" />
       </switches>
    </system.diagnostics>
    

Ayrıca bkz.