Návod: Změna místa, kam objekt My.Application.Log zapisuje informace (Visual Basic)
Můžete použít objekty My.Application.Log a My.Log k protokolování informací o událostech, ke kterým dochází v aplikaci. Tento návod ukazuje, jak přepsat výchozí nastavení a donutit Log objekt zapisovat do jiných protokolových posluchačů.
Požadavky
Objekt Log může zapisovat informace do několika protokolových posluchačů.Potřebujete zjistit aktuální konfiguraci protokolového posluchače před změnou jeho konfigurace.Další informace naleznete v tématu Návod: Zjištění, kam objekt My.Application.Log zapisuje informace (Visual Basic).
Můžete chtít zkontrolovat Postupy: Zápis informací o události do textového souboru (Visual Basic) nebo Postupy: Zápis do protokolu událostí aplikace (Visual Basic).
Chcete-li přidat posluchače
Klikněte pravým tlačítkem myši na soubor app.config v Průzkumníku řešení a potom klikněte na tlačítko Otevřít.
-nebo-
Pokud neexistuje soubor app.config:
V nabídce Projekt klikněte na příkaz Přidat novou položku.
Z dialogového rámečku Přidat novou položku, vyberte Aplikační konfigurační soubor.
Klikněte na tlačítko Přidat.
Nalezněte oddíl <listeners>, pod sekci <source> s atributem name nastaveným na "DefaultSource", který je umístěný v sekci <sources>.Sekce <sources> je umístěna v sekci <system.diagnostics>, která je v nejvyšší úrovni oddílu <configuration>.
Přidejte tyto prvky do oddílu <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" /> -->
Odkomentujte protokolové posluchače, kteří mají přijímat Log zprávy.
Nalezněte sekci <sharedListeners> v sekci <system.diagnostics>, které je v nejvyšší úroveň oddílu <configuration>.
Přidejte tyto prvky do oddílu <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" />
Obsah souboru app.config by měl být podobný následujícímu 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>
Chcete-li překonfigurovat posluchače
Nalezněte element <add> posluchačů z oddílu <sharedListeners>.
Atribut type poskytuje název typu posluchače.Tento typ musí dědit z třídy TraceListener.Použijte silně pojmenovaný typový název k zajištění použití správného typu.Další informace naleznete v tématu "Chcete-li odkazovat na silně pojmenované typy" níže.
Některé typy, které můžete použít, jsou:
Posluchač FileLogTraceListener, který zapisuje do protokolového souboru.
Posluchač EventLogTraceListener zapíše informace do protokolu události počítače, který je určen parametrem initializeData.
Posluchači DelimitedListTraceListener a XmlWriterTraceListener zapisují do specifického souboru zadaného v parametru initializeData.
Posluchač ConsoleTraceListener zapisuje do příkazové řádky konzole.
Informace o tom, kde zapisují informace další typy protokolových posluchačů naleznete v dokumentaci daného typu.
Když aplikace vytvoří objekt protokolového posluchače, předá atribut initializeData jako parametr konstruktoru.Význam atributu initializeData závisí na posluchači trasování.
Po vytvoření protokolového posluchače, aplikace nastaví vlastnosti posluchačů.Tyto vlastnosti jsou definovány jinými atributy v elementu <add>.Další informace o vlastnostech pro konkrétní posluchače naleznete v dokumentaci pro typ daného posluchače.
Chcete-li odkazovat na silně pojmenované typy
Chcete-li zajistit, že je pro vaši komponentu použit správný typ protokolového posluchače, ujistěte se, že používáte plně kvalifikovaný typový název a silně pojmenovaný název sestavení.Syntaxe silně pojmenovaného typu je následující.
<název typu>, <název sestavení>, <číslo verze>, <kultury>, <silný název>
Tento příklad kódu ukazuje, jak určit název silně pojmenovaného typu pro plně kvalifikovaný typ — v tomto případě "Systen.Diagnostics.FileLogTraceListener".
Public Sub DisplayStrongName() Dim t As Type = GetType(Logging.FileLogTraceListener) MsgBox(t.FullName & ", " & t.Assembly.FullName) End Sub
To je výstup a lze jej použít jako jednoznačný odkaz a silně pojmenovaný typ, stejně jak je použit v proceduře "Chcete-li přidat posluchače" nahoře.
Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Viz také
Úkoly
Postupy: Zápis informací o události do textového souboru (Visual Basic)
Postupy: Zápis do protokolu událostí aplikace (Visual Basic)