Walkthrough: Wijzigen waar My.Application.Log informatie schrijft (Visual Basic)
U kunt de My.Application.Log
en My.Log
objecten gebruiken om informatie te registreren over gebeurtenissen die zich in uw toepassing voordoen. In dit scenario ziet u hoe u de standaardinstellingen overschrijft en ervoor zorgt dat het Log
object naar andere logboeklisteners schrijft.
Vereisten
Het Log
object kan informatie schrijven naar verschillende logboeklisteners. U moet de huidige configuratie van de logboeklisteners bepalen voordat u de configuraties wijzigt. Zie Walkthrough: Bepalen waar My.Application.Log informatie schrijft voor meer informatie.
U kunt het volgende bekijken : Gebeurtenisgegevens naar een tekstbestand schrijven of instructies: schrijven naar een gebeurtenislogboek van een toepassing.
Listeners toevoegen
Klik met de rechtermuisknop op app.config in Solution Explorer en kies Openen.
- of -
Als er geen app.config-bestand is:
Kies Nieuw item toevoegen in het menu Project.
Selecteer toepassingsconfiguratiebestand in het dialoogvenster Nieuw item toevoegen.
Klik op Toevoegen.
Zoek de
<listeners>
sectie onder de<source>
sectie met hetname
kenmerk DefaultSource in de<sources>
sectie. De<sources>
sectie bevindt zich in de<system.diagnostics>
sectie, in de sectie op het hoogste niveau<configuration>
.Voeg deze elementen toe aan die
<listeners>
sectie.<!-- 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" /> -->
Verwijder opmerkingen bij de logboeklisteners die u berichten wilt ontvangen
Log
.Zoek de
<sharedListeners>
sectie in de<system.diagnostics>
sectie op het hoogste niveau<configuration>
.Voeg deze elementen toe aan die
<sharedListeners>
sectie.<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" />
De inhoud van het bestand app.config moet vergelijkbaar zijn met de volgende 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>
Een listener opnieuw configureren
Zoek het element van
<add>
de listener uit de<sharedListeners>
sectie.Het
type
kenmerk geeft de naam van het listenertype. Dit type moet overnemen van de TraceListener klasse. Gebruik de sterk benoemde typenaam om ervoor te zorgen dat het juiste type wordt gebruikt. Zie de sectie 'Een sterk benoemd type verwijzen' hieronder voor meer informatie.Sommige typen die u kunt gebruiken, zijn:
Een Microsoft.VisualBasic.Logging.FileLogTraceListener listener, die naar een bestandslogboek schrijft.
Een System.Diagnostics.EventLogTraceListener listener, die informatie naar het gebeurtenislogboek van de computer schrijft dat is opgegeven door de
initializeData
parameter.De System.Diagnostics.DelimitedListTraceListener en System.Diagnostics.XmlWriterTraceListener listeners, die naar het bestand schrijven dat is opgegeven in de
initializeData
parameter.Een System.Diagnostics.ConsoleTraceListener listener, die naar de opdrachtregelconsole schrijft.
Raadpleeg de documentatie van dat type voor informatie over waar andere typen logboeklisteners informatie schrijven.
Wanneer de toepassing het log-listener-object maakt, wordt het
initializeData
kenmerk doorgegeven als de constructorparameter. De betekenis van hetinitializeData
kenmerk is afhankelijk van de traceerlistener.Nadat de logboeklistener is gemaakt, stelt de toepassing de eigenschappen van de listener in. Deze eigenschappen worden gedefinieerd door de andere kenmerken in het
<add>
element. Zie de documentatie voor het type listener voor meer informatie over de eigenschappen voor een bepaalde listener.
Als u wilt verwijzen naar een sterk benoemd type
Om ervoor te zorgen dat het juiste type wordt gebruikt voor uw logboeklistener, moet u de volledig gekwalificeerde typenaam en de sterk benoemde assemblynaam gebruiken. De syntaxis van een sterk benoemd type is als volgt:
<typenaam, <assemblynaam>>, <versienummer>, <cultuur>, <sterke naam>
In dit codevoorbeeld ziet u hoe u in dit geval de sterk benoemde typenaam voor een volledig gekwalificeerde type kunt bepalen: System.Diagnostics.FileLogTraceListener.
Public Sub DisplayStrongName() Dim t As Type = GetType(Logging.FileLogTraceListener) MsgBox(t.FullName & ", " & t.Assembly.FullName) End Sub
Dit is de uitvoer en kan worden gebruikt om uniek te verwijzen naar een sterk benoemd type, zoals in de bovenstaande procedure 'Listeners toevoegen'.
Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a