Návod: Změna místa, kam objekt My.Application.Log zapisuje informace (Visual Basic)
Pomocí My.Application.Log objektů a můžete My.Log protokolovat informace o událostech, ke kterým dochází ve vaší aplikaci. Tento návod ukazuje, jak přepsat výchozí nastavení a způsobit, že Log objekt zapisuje do jiných posluchačů protokolů.
Požadavky
LogObjekt může zapisovat informace do několika posluchačů protokolů. Před změnou konfigurace je třeba určit aktuální konfiguraci naslouchacího procesu protokolu. Další informace naleznete v tématu Návod: zjištění, kam aplikace My. Application. Log zapisuje informace.
Můžete si přečíst Postupy: zápis informací o události do textového souboru nebo Postupy: zápis do protokolu událostí aplikace.
Přidání posluchačů
Pravým tlačítkem myši klikněte na app.config v Průzkumník řešení a vyberte otevřít.
- ani
Pokud soubor neexistuje app.config:
v nabídce Project klikněte na příkaz přidat novou položku.
V dialogovém okně Přidat novou položku vyberte možnost konfigurační soubor aplikace.
Klikněte na Přidat.
Vyhledejte část v části
<listeners><source>snameatributem "DefaultSource" v<sources>části.<sources>Oddíl je v části v<system.diagnostics>části nejvyšší úrovně<configuration>.Přidejte tyto prvky do této
<listeners>části.<!-- 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 protokolů, které chcete přijímat
Logzprávy.Vyhledejte část v části v
<sharedListeners><system.diagnostics>sekci nejvyšší úrovně<configuration>.Přidejte tyto prvky do této
<sharedListeners>části.<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 vypadat podobně jako následující kód 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>
Postup překonfigurování naslouchacího procesu
Vyhledejte element naslouchacího procesu
<add>z<sharedListeners>oddílu.typeAtribut poskytuje název typu naslouchacího procesu. Tento typ musí dědit od TraceListener třídy. Použijte název silně pojmenovaného typu k zajištění toho, aby byl použit správný typ. Další informace naleznete níže v části "odkazování na silně pojmenovaný typ".Mezi typy, které můžete použít, patří:
Microsoft.VisualBasic.Logging.FileLogTraceListenerNaslouchací proces, který zapisuje do protokolu souborů.
System.Diagnostics.EventLogTraceListenerNaslouchací proces, který zapisuje informace do protokolu událostí počítače určeného
initializeDataparametrem.System.Diagnostics.DelimitedListTraceListener System.Diagnostics.XmlWriterTraceListener Naslouchací procesy a, které zapisují do souboru zadaného v
initializeDataparametru.System.Diagnostics.ConsoleTraceListenerNaslouchací proces, který zapisuje do konzoly příkazového řádku.
Informace o tom, kde jiné typy protokolových posluchačů zapisují informace, najdete v dokumentaci k tomuto typu.
Když aplikace vytvoří objekt naslouchacího procesu protokolu, předá tento
initializeDataatribut jako parametr konstruktoru. VýznaminitializeDataatributu závisí na naslouchací službě trasování.Po vytvoření naslouchacího procesu protokolu aplikace nastaví vlastnosti naslouchacího procesu. Tyto vlastnosti jsou definovány jinými atributy v
<add>elementu. Další informace o vlastnostech konkrétního naslouchacího procesu najdete v dokumentaci pro daný typ naslouchacího procesu.
Odkazování na silně pojmenovaný typ
Chcete-li zajistit, aby byl pro naslouchací proces protokolu použit správný typ, nezapomeňte použít plně kvalifikovaný název typu a silně pojmenovaný název sestavení. Syntaxe silně pojmenovaného typu je následující:
<type name>, <assembly name>, <version number>, <culture>, <strong name>
Tento příklad kódu ukazuje, jak určit název silně 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 SubToto je výstup a lze jej použít k jedinečnému odkazu silně pojmenovaného typu, jak je uvedeno výše v proceduře "Přidat naslouchací procesy".
Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a