İzlenecek Yol: My.Application.Log Günlüğünün Bilgileri Yazdığı Yeri Değiştirme (Visual Basic)
My.Application.Log My.Log Uygulamanızda gerçekleşen olaylar hakkındaki bilgileri günlüğe kaydetmek için ve nesnelerini kullanabilirsiniz. Bu izlenecek yol, varsayılan ayarların nasıl geçersiz kılınacağını ve Log nesnenin diğer günlük dinleyicilerine yazmasına neden olduğunu gösterir.
Önkoşullar
LogNesnesi, çeşitli günlük dinleyicilerine 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. Izlenecek yol: My. Application. log bilgisinin nereden yazabileceğini belirleme.
Nasıl yapılır: bir metin dosyasına olay bilgilerini yazma veya nasıl yapılır: uygulama olay günlüğüne yazma.
Dinleyicileri eklemek için
Çözüm Gezgini app.config sağ tıklayın ve Aç' ı seçin.
- veya
app.config dosya yoksa:
Project menüsünde yeni öğe ekle' yi seçin.
Yeni öğe Ekle Iletişim kutusundan uygulama yapılandırma dosyası' nı seçin.
Ekle'ye tıklayın.
Bölümünde
<listeners><source>name"DefaultSource" özniteliğine sahip bölümün altındaki bölümü bulun<sources>.<sources>Bölümü,<system.diagnostics>üst düzey bölümündeki bölümünde bulunur<configuration>.Bu öğeleri bu bölüme ekleyin
<listeners>.<!-- 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.Bölümünde,
<sharedListeners>üst düzey bölümünde bölümünde bulunan bölümünü bulun<system.diagnostics><configuration>.Bu öğeleri bu bölüme ekleyin
<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" />app.config dosyasının içeriği aşağıdaki XML 'e 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>
Bir dinleyiciyi yeniden yapılandırmak için
Bölümünden dinleyicinin öğesini bulun
<add><sharedListeners>.typeÖznitelik, dinleyici türünün adını verir. Bu tür sınıfından devralması gerekir TraceListener . Doğru türün kullanıldığından emin olmak için kesin adlandırılmış tür adını kullanın. Daha fazla bilgi için, aşağıdaki "kesin adlandırılmış türe başvurmak Için" bölümüne bakın.Kullanabileceğiniz bazı türler şunlardır:
Microsoft.VisualBasic.Logging.FileLogTraceListenerBir dosya günlüğüne yazan bir dinleyici.
System.Diagnostics.EventLogTraceListenerParametresi tarafından belirtilen bilgisayar olay günlüğüne bilgi yazan bir dinleyici
initializeData.System.Diagnostics.DelimitedListTraceListener System.Diagnostics.XmlWriterTraceListener Parametresinde belirtilen dosyaya yazılan ve dinleyicileri
initializeData.System.Diagnostics.ConsoleTraceListenerKomut satırı konsoluna yazan bir dinleyici.
Diğer günlük dinleyicisi türlerinin yazma bilgileri hakkında daha fazla bilgi için, bu türün belgelerine başvurun.
Uygulama, log-Listener nesnesini oluşturduğunda,
initializeDataözniteliği Oluşturucu parametresi olarak geçirir. Özniteliğin anlamı,initializeDataizleme dinleyicisine bağlıdır.Günlük dinleyicisini oluşturduktan sonra uygulama, dinleyicinin özelliklerini ayarlar. Bu özellikler, öğesindeki diğer öznitelikler tarafından tanımlanır
<add>. Belirli bir dinleyicinin özellikleri hakkında daha fazla bilgi için, bu dinleyicinin türüne yönelik belgelere bakın.
Kesin adlandırılmış türe başvurmak için
Doğru türün günlük dinleyiciniz için kullanıldığından emin olmak için tam tür adı ve kesin adlandırılmış derleme adını kullandığınızdan emin olun. Kesin adlandırılmış türün sözdizimi aşağıdaki gibidir:
<type name>, <assembly name>, <version number>, <culture>, <strong name>
Bu kod örneği, bu durumda "System. Diagnostics. FileLogTraceListener" tam türü için kesin adlandırılmış tür adının nasıl belirleneceğini göstermektedir.
Public Sub DisplayStrongName() Dim t As Type = GetType(Logging.FileLogTraceListener) MsgBox(t.FullName & ", " & t.Assembly.FullName) End SubBu çıktı, yukarıdaki "dinleyicileri ekleme" yordamında olduğu gibi kesin 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