İzlenecek Yol: My.Application.Log Günlüğünün Bilgileri Yazdığı Yeri Değiştirme (Visual Basic)
ve nesnelerini kullanarak My.Application.Log
My.Log
uygulamanızda gerçekleşen olaylar hakkındaki bilgileri günlüğe kaydedebilirsiniz. Bu izlenecek yol, varsayılan ayarların nasıl geçersiz kılınıp nesnenin Log
diğer günlük dinleyicilerine yazmasına neden olduğunu gösterir.
Önkoşullar
Log
nesnesi, birkaç günlük dinleyicisine bilgi yazabilir. Yapılandırmaları değiştirmeden önce günlük dinleyicilerinin geçerli yapılandırmasını belirlemeniz gerekir. Daha fazla bilgi için bkz . İzlenecek Yol: My.Application.Log'un Bilgileri Nereye Yazacağı Belirleniyor.
Nasıl yapılır: Olay Bilgilerini Bir Metin Dosyasına Yazma veya Nasıl Yapılır: Uygulama Olay Günlüğüne Yazma'ya göz atanmak isteyebilirsiniz.
Dinleyici eklemek için
Çözüm Gezgini app.config öğesine sağ tıklayın ve Aç'ı seçin.
- veya -
App.config dosyası yoksa:
Proje menüsünde Yeni Öğe Ekle'yi seçin.
Yeni Öğe Ekle iletişim kutusunda Uygulama Yapılandırma Dosyası'nı seçin.
Ekle'yi tıklatın.
<listeners>
bölümünde "DefaultSource" özniteliğinename
sahip bölümün altında<source>
bölümünü<sources>
bulun. Bölüm<sources>
<system.diagnostics>
, en üst düzey<configuration>
bölümde yer alır.Bu öğeleri bu
<listeners>
bölüme ekleyin.<!-- Uncomment to connect the application file log. --> <!-- <add name="FileLog" /> --> <!-- Uncomment to connect the event log. --> <!-- <add name="EventLog" /> --> <!-- Uncomment to connect the event log. --> <!-- <add name="Delimited" /> --> <!-- Uncomment to connect the XML log. --> <!-- <add name="XmlWriter" /> --> <!-- Uncomment to connect the console log. --> <!-- <add name="Console" /> -->
İleti almak istediğiniz günlük dinleyicilerinin açıklamasını kaldırın
Log
.<sharedListeners>
En üst düzey<configuration>
bölümdeki<system.diagnostics>
bölümünü bulun.Bu öğeleri bu
<sharedListeners>
bölüme ekleyin.<add name="FileLog" type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" initializeData="FileLogWriter" /> <add name="EventLog" type="System.Diagnostics.EventLogTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" initializeData="sample application"/> <add name="Delimited" type="System.Diagnostics.DelimitedListTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" initializeData="c:\temp\sampleDelimitedFile.txt" traceOutputOptions="DateTime" /> <add name="XmlWriter" type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" initializeData="c:\temp\sampleLogFile.xml" /> <add name="Console" type="System.Diagnostics.ConsoleTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" initializeData="true" />
app.config dosyasının içeriği aşağıdaki XML'ye benzer olmalıdır:
<?xml version="1.0" encoding="utf-8" ?> <configuration> <system.diagnostics> <sources> <!-- This section configures My.Application.Log --> <source name="DefaultSource" switchName="DefaultSwitch"> <listeners> <add name="FileLog"/> <!-- Uncomment to connect the application file log. --> <!-- <add name="FileLog" /> --> <!-- Uncomment to connect the event log. --> <!-- <add name="EventLog" /> --> <!-- Uncomment to connect the event log. --> <!-- <add name="Delimited" /> --> <!-- Uncomment to connect the XML log. --> <!-- <add name="XmlWriter" /> --> <!-- Uncomment to connect the console log. --> <!-- <add name="Console" /> --> </listeners> </source> </sources> <switches> <add name="DefaultSwitch" value="Information" /> </switches> <sharedListeners> <add name="FileLog" type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" initializeData="FileLogWriter" /> <add name="EventLog" type="System.Diagnostics.EventLogTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" initializeData="sample application"/> <add name="Delimited" type="System.Diagnostics.DelimitedListTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" initializeData="c:\temp\sampleDelimitedFile.txt" traceOutputOptions="DateTime" /> <add name="XmlWriter" type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" initializeData="c:\temp\sampleLogFile.xml" /> <add name="Console" type="System.Diagnostics.ConsoleTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" initializeData="true" /> </sharedListeners> </system.diagnostics> </configuration>
Dinleyiciyi yeniden yapılandırmak için
bölümünden dinleyicinin
<add>
öğesini<sharedListeners>
bulun.type
özniteliği dinleyici türünün adını verir. Bu tür sınıfından devralmalıdır TraceListener . Doğru türün kullanıldığından emin olmak için kesin olarak adlandırılmış tür adını kullanın. Daha fazla bilgi için aşağıdaki "Kesin olarak adlandırılmış bir türe başvurmak için" bölümüne bakın.Kullanabileceğiniz bazı türler şunlardır:
Bir Microsoft.VisualBasic.Logging.FileLogTraceListener dosya günlüğüne yazan dinleyici.
System.Diagnostics.EventLogTraceListener parametresi tarafından
initializeData
belirtilen bilgisayar olay günlüğüne bilgi yazan bir dinleyici.System.Diagnostics.DelimitedListTraceListener parametresinde
initializeData
belirtilen dosyaya yazan ve System.Diagnostics.XmlWriterTraceListener dinleyicileri.System.Diagnostics.ConsoleTraceListener Komut satırı konsoluna yazan bir dinleyici.
Diğer günlük dinleyicisi türlerinin nereye bilgi yazdığı hakkında bilgi için bu türün belgelerine bakın.
Uygulama günlük dinleyicisi nesnesini oluşturduğunda, özniteliğini
initializeData
oluşturucu parametresi olarak geçirir. özniteliğinininitializeData
anlamı izleme dinleyicisine bağlıdır.Uygulama, günlük dinleyicisini oluşturduktan sonra dinleyicinin özelliklerini ayarlar. Bu özellikler öğesindeki diğer öznitelikler
<add>
tarafından tanımlanır. Belirli bir dinleyicinin özellikleri hakkında daha fazla bilgi için söz konusu dinleyici türünün belgelerine bakın.
Kesin olarak adlandırılmış bir türe başvurmak için
Günlük dinleyiciniz için doğru türün kullanıldığından emin olmak için tam tür adını ve tam olarak adlandırılmış derleme adını kullandığınızdan emin olun. Kesin olarak adlandırılmış bir türün söz dizimi aşağıdaki gibidir:
<tür adı>, <derleme adı>, <sürüm numarası>, <kültür>, <tanımlayıcı ad>
Bu kod örneği, bu örnekte tam olarak adlandırılmış tür adının nasıl belirleneceğini gösterir: "System.Diagnostics.FileLogTraceListener".
Public Sub DisplayStrongName() Dim t As Type = GetType(Logging.FileLogTraceListener) MsgBox(t.FullName & ", " & t.Assembly.FullName) End Sub
Bu çıkıştır ve yukarıdaki "Dinleyici eklemek için" yordamında olduğu gibi kesin olarak adlandırılmış bir türe benzersiz olarak başvurmak için kullanılabilir.
Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a