Visual Basic 2012 Voorbeelden
   

visual basic 2012 broncode voorbeelden

Blijf op de hoogte van de recente aanpassingen op vbvoorbeelden!

Microsoft Visual Studio 2012Microsoft Developers Network - Visual BasicMicrosoft .NET Framework

32.5. EventLog en EventLogTraceListener

Print Email Deel op Twitter Deel op Facebook

Dit artikel is gepubliceerd op maandag 15 oktober 2012 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.

Indien de EventLogTraceListener aan de Trace.Listener collection is toegevoegd, worden de debug en trace informatie naar de EventLog gestuurd.

Bij het schrijven van een boodschap naar de eventlog moet de bron van de boodschap worden gespecifieerd of worden gecreëerd.  Dit is vereist om voor de evenlog als een ge-autoriseerde bron te kunnen fungeren.  Om de bron te specifiëren of creëeren zijn adminstrator rechten nodig.
Dit is noodzakelijk omdat elke bron van events uniek moet zijn, om dit na te gaan moeten alle events worden doorzocht, ook de events in de security log.
In Windows Vista of 7 bijvoorbeeld hebben gewone gebruikers geen recht deze security log te doorzoeken, hiervoor zijn administrator rechten vereist.
Probeert men dit toch te doen zonder deze rechten dan zal een SecurityException optreden.

De User Account Control (UAC) van Windows Vista of 7 bijvoorbeeld bepaald de rechten van gebruikers.  Ook al ben je lid van de ingebouwde Adminstrator groep dan nog worden applicaties by default onder de rechten van een standard user uitgevoerd.
Om een applicatie toch onder administrator rechten uit te voeren, kan je er in de Verkenner bijvoorbeeld op rechterklikken en kiezen voor de optie Run as admistrator (Windows Vista of 7).
Visual Basic 2012 Broncode - Codevoorbeeld 799
#Const DEBUG = True
#Const TRACE = True
Class Example
    Public Shared Sub Main()
        Trace.Listeners.Add(New EventLogTraceListener("Some Source"))
        '
        Trace.WriteLine(Date.Now().ToString() & " : Trace Message")
        Debug.WriteLine(Date.Now().ToString() & " : Debug Message")
    End Sub
End Class
Als je erin geslaagd bent bovenstaand voorbeeld uit te voeren, ga je in de Event Viewer volgende boodschappen terugvinden :
19/11/2008 17:48:08 : Trace Message
19/11/2008 17:48:08 : Debug Message
Aan de constructor van de EventLogTraceListener klasse werd hier de naam van de event source doorgegeven.

Om een applicatie steeds onder administrator rechten uit te voeren (als die aanwezig zijn) kan je in de Application Manifest File (app.manifest) het level attribuut van de <requestedExecutionLevel> node op requireAdministor instellen.
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0"
                xmlns="urn:schemas-microsoft-com:asm.v1"
                xmlns:asmv1="urn:schemas-microsoft-com:asm.v1"
                xmlns:asmv2="urn:schemas-microsoft-com:asm.v2"
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
    <security>
      <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
        <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
      </requestedPrivileges>
    </security>
  </trustInfo>
</asmv1:assembly>
Visual Studio : De Application Manifest File (app.manifest) kan je bijvoorbeeld terugvinden door in de project properties onder de rubriek Application te klikken op de knop View UAC Settings.

32.5.1. Configuration Time

Natuurlijk kunnen we ook at configuration time de EventLogTraceListener toevoegen.

Voeg daar voor de volgende nodes :
<trace>
  <listeners>
    <add name="configEventLogTraceListener"
         type="System.Diagnostics.EventLogTraceListener"
         initializeData="Some Source" />
  </listeners>
</trace>
toe aan de <system.diagnostics> node van de application configuration file.

Het initializeData attribuut van de <add> node wordt hier gebruikt om de naam van de event source voor de eventlog duidelijk te maken.

Dit artikel is gepubliceerd op maandag 15 oktober 2012 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.