Genomgång: Ändra var my.application.log skriver information (Visual Basic)
Du kan använda objekten My.Application.Log
och My.Log
för att logga information om händelser som inträffar i ditt program. Den här genomgången visar hur du åsidosätter standardinställningarna och får Log
objektet att skriva till andra logglyssnare.
Förutsättningar
Objektet Log
kan skriva information till flera logglyssnare. Du måste fastställa logglyssnarnas aktuella konfiguration innan du ändrar konfigurationerna. Mer information finns i Genomgång: Fastställa var my.application.log skriver information.
Du kanske vill granska Så här skriver du händelseinformation till en textfil eller Så här skriver du till en programhändelselogg.
Lägga till lyssnare
Högerklicka på app.config i Solution Explorer och välj Öppna.
- eller -
Om det inte finns någon app.config-fil:
På Projekt-menyn väljer du Lägg till nytt objekt.
I dialogrutan Lägg till nytt objekt väljer du Programkonfigurationsfil.
Klicka på Lägg till.
<listeners>
Leta upp avsnittet under avsnittet<source>
medname
attributet "DefaultSource" i avsnittet<sources>
. Avsnittet<sources>
finns i avsnittet<system.diagnostics>
på den översta nivån<configuration>
.Lägg till dessa element i det
<listeners>
avsnittet.<!-- 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" /> -->
Avkommentar de logglyssnare som du vill ta emot
Log
meddelanden.Leta upp avsnittet
<sharedListeners>
i avsnittet<system.diagnostics>
i avsnittet på den översta nivån<configuration>
.Lägg till dessa element i det
<sharedListeners>
avsnittet.<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" />
Innehållet i filen app.config bör likna följande 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>
Konfigurera om en lyssnare
Leta upp lyssnarens
<add>
element från avsnittet<sharedListeners>
.Attributet
type
ger namnet på lyssnartypen. Den här typen måste ärva från TraceListener klassen. Använd det starkt namngivna typnamnet för att säkerställa att rätt typ används. Mer information finns i avsnittet "Referera till en starkt namngiven typ" nedan.Några typer som du kan använda är:
En Microsoft.VisualBasic.Logging.FileLogTraceListener lyssnare som skriver till en fillogg.
En System.Diagnostics.EventLogTraceListener lyssnare som skriver information till datorhändelseloggen som anges av parametern
initializeData
.Lyssnarna System.Diagnostics.DelimitedListTraceListener och System.Diagnostics.XmlWriterTraceListener som skriver till filen som anges i parametern
initializeData
.En System.Diagnostics.ConsoleTraceListener lyssnare som skriver till kommandoradskonsolen.
Information om var andra typer av logglyssnare skriver information finns i den typens dokumentation.
När programmet skapar logglyssningsobjektet skickas
initializeData
attributet som konstruktorparameter. AttributetsinitializeData
betydelse beror på spårningslyssnaren.När du har skapat logglyssnaren anger programmet lyssnarens egenskaper. De här egenskaperna definieras av de andra attributen i elementet
<add>
. Mer information om egenskaperna för en viss lyssnare finns i dokumentationen för den lyssnarens typ.
Referera till en starkt namngiven typ
Se till att rätt typ används för logglyssnaren genom att använda det fullständigt kvalificerade typnamnet och det starkt namngivna sammansättningsnamnet. Syntaxen för en starkt namngiven typ är följande:
<typnamn>, <sammansättningsnamn>, <versionsnummer>, <kultur>, <starkt namn>
Det här kodexemplet visar hur du fastställer det starkt namngivna typnamnet för en fullständigt kvalificerad typ – "System.Diagnostics.FileLogTraceListener" i det här fallet.
Public Sub DisplayStrongName() Dim t As Type = GetType(Logging.FileLogTraceListener) MsgBox(t.FullName & ", " & t.Assembly.FullName) End Sub
Det här är utdata och kan användas för att unikt referera till en starkt namngiven typ, som i proceduren "Att lägga till lyssnare" ovan.
Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a