Návod: Změna místa, kam objekt My.Application.Log zapisuje informace (Visual Basic)
Objekty a My.Log
objekty můžete použít My.Application.Log
k protokolování informací o událostech, ke kterým dochází ve vaší aplikaci. Tento návod ukazuje, jak přepsat výchozí nastavení a způsobit zápis objektu Log
do jiných naslouchacích procesů protokolu.
Požadavky
Objekt Log
může zapisovat informace do několika naslouchacích procesů protokolu. Před změnou konfigurací je potřeba určit aktuální konfiguraci naslouchacích procesů protokolů. Další informace naleznete v tématu Návod: Určení, kde my.Application.Log zapisuje informace.
Můžete si projít postupy: Zápis informací o události do textového souboru nebo postupy: Zápis do protokolu událostí aplikace.
Přidání naslouchacích procesů
V Průzkumník řešení klikněte pravým tlačítkem na app.config a zvolte Otevřít.
- nebo -
Pokud neexistuje žádný soubor app.config:
V nabídce Projekt zvolte Přidat novou položku.
V dialogovém okně Přidat novou položku vyberte Konfigurační soubor aplikace.
Klikněte na tlačítko Přidat.
<listeners>
Vyhledejte oddíl pod<source>
oddílem s atributemname
DefaultSource v oddílu<sources>
. Oddíl<sources>
je v oddílu v oddílu<system.diagnostics>
nejvyšší úrovně<configuration>
.Přidejte tyto prvky do tohoto
<listeners>
oddílu.<!-- 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" /> -->
Odkomentujte naslouchací procesy protokolu, které chcete přijímat
Log
zprávy.<sharedListeners>
Vyhledejte oddíl v oddílu v oddílu<system.diagnostics>
nejvyšší úrovně<configuration>
.Přidejte tyto prvky do tohoto
<sharedListeners>
oddílu.<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" />
Obsah souboru app.config by se měl podobat následujícímu kódu XML:
<?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>
Změna konfigurace naslouchacího procesu
Vyhledejte prvek naslouchacího procesu
<add>
z oddílu<sharedListeners>
.Atribut
type
poskytuje název typu naslouchacího procesu. Tento typ musí dědit z TraceListener třídy. Pomocí názvu silného pojmenovaného typu se ujistěte, že se používá správný typ. Další informace najdete v části Odkaz na typ silného pojmenování níže.Mezi typy, které můžete použít, patří:
Naslouchací Microsoft.VisualBasic.Logging.FileLogTraceListener proces, který zapisuje do protokolu souborů.
Naslouchací System.Diagnostics.EventLogTraceListener proces, který zapisuje informace do protokolu událostí počítače určeného parametrem
initializeData
.System.Diagnostics.XmlWriterTraceListener A System.Diagnostics.DelimitedListTraceListener naslouchací procesy, které zapisují do souboru zadaného v parametru
initializeData
.Naslouchací System.Diagnostics.ConsoleTraceListener proces, který zapisuje do konzoly příkazového řádku.
Informace o tom, kde další typy naslouchacích procesů protokolů zapisují informace, najdete v dokumentaci k dokumentace tohoto typu.
Když aplikace vytvoří objekt naslouchacího procesu protokolu, předá
initializeData
atribut jako parametr konstruktoru. Význam atributuinitializeData
závisí na naslouchacím procesu trasování.Po vytvoření naslouchacího procesu protokolu aplikace nastaví vlastnosti naslouchacího procesu. Tyto vlastnosti jsou definovány jinými atributy v elementu
<add>
. Další informace o vlastnostech konkrétního naslouchacího procesu najdete v dokumentaci k typu tohoto naslouchacího procesu.
Odkaz na typ silného pojmenování
Abyste měli jistotu, že se pro naslouchací proces protokolu používá správný typ, nezapomeňte použít plně kvalifikovaný název typu a název sestavení se silným názvem. Syntaxe silného pojmenovaného typu je následující:
<název typu, <název>> sestavení, <číslo> verze, <jazyková verze>, <silný název>
Tento příklad kódu ukazuje, jak určit název silného pojmenovaného typu pro plně kvalifikovaný typ – System.Diagnostics.FileLogTraceListener v tomto případě.
Public Sub DisplayStrongName() Dim t As Type = GetType(Logging.FileLogTraceListener) MsgBox(t.FullName & ", " & t.Assembly.FullName) End Sub
Toto je výstup a dá se použít k jedinečnému odkazu na typ silného pojmenování, jak je uvedeno výše v postupu Přidání naslouchacích procesů.
Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a