Imaginsystems


Tecniche di Programmazione - Codici Sorgenti - News Informatiche
Archivio Posts
Anno 2014

Anno 2013

Anno 2012
Statistiche
  • Views Home Page: 73.755
  • Views Posts: 551.305
  • Views Gallerie: 0
  • n° Posts: 210
  • n° Commenti: 224

VB.NET - FUNZIONE CHE CREA E CANCELLA UN EVENT LOG (CODICE)

VB.NET - FUNZIONE CHE CREA E CANCELLA UN EVENT LOG (Codice)


  


L'obbiettivo di questo articolo è di "Come creare un Log eventi personalizzato in .NET" .

Oggi vi voglio mettere a disposizione una Funzione che Crea e Cancella Eventi Log. Cosa significa creare un Event Log , significa fare in modo che la vostra applicazione vada a scrivere nel Visualizzatore degli eventi di Windows e inserisca una stringa dicendo che il programma Ex. ("AppCalcolatrice") ha provocato un errore ("Errore - Chiusura di programma") con ID Event ("123") . Tutto questo è utile quando un cliente vi contatta e voi volete sapere tutte le operazioni che hanno fatto prima di generare quell'errore esempio se prima il sistema si è chiuso bruscamente (e non ve l'ha detto il vostro cliente) che ha fatto una operazione che non doveva fare, dall'elenco degli eventi vi aiuta a creare una cronologia di eventi del programma e tutti i suoi avvisi precedenti a quello.

Possiamo personalizzare questi avvisi/Event Log o inserirli nell'elenco Applicazioni o Sistema o addirittura personalizzarli a nostro piacere e quindi creare una Event Log personalizzato per la nostra Applicazione :

Cosa è il Visualizzatore eventi? Il Visualizzatore eventi consente agli utenti di monitorare gli eventi annotati nei registri applicazione, protezione ed eventi di sistema.

Passiamo alla prima fase, la funzione che mi permette di inserire subito un evento nel sistema con un messaggio prefissato :

CODICE VISUAL STUDIO 2010 - VISUAL BASIC .NET - VB.NET:

 Dim EventLog As New System.Diagnostics.EventLog()

   Private Sub InserisciEventoDefault()

        Dim ssource As String = "MyApplication"
        Dim slog As String = "Application"

        If ssource = Nothing And slog = Nothing Then
            Return
        End If

        If Not EventLog.SourceExists(ssource) Then
            EventLog.CreateEventSource(ssource, slog)
        End If

        EventLog.WriteEntry(ssource, "Ciao Prova inserimento messaggio EventLog", EventLogEntryType.Information, 1000)

    End Sub

Questa funzione InserisciEventoDefault() ci permette di inserire velocemente un nuovo EventLog .

Ora passiamo a renderlo un po più personalizzato, e per richiamare questa funzione scriviamo cosi :

MetodoEvntsLog("ProvSource", "ProvLog", "ProvMessage", 215, EventLogEntryType.Information)

CODICE VISUAL STUDIO 2010 - VISUAL BASIC .NET - VB.NET:

 Dim EventLog As New System.Diagnostics.EventLog()

 Private Sub MetodoEvntsLog(ByVal sSource As String, ByVal sLog As String, ByVal sEvent As String, ByVal sCodeErrorApplication As Integer, ByVal EventLogType As EventLogEntryType)
        If sSource = Nothing And sLog = Nothing Then
            Return
        End If

        If Not EventLog.SourceExists(sSource) Then
            EventLog.CreateEventSource(sSource, sLog)
        End If

        EventLog.WriteEntry(sSource, sEvent, EventLogType, sCodeErrorApplication)
    End Sub

Che cosa fa questa istruzione 

MetodoEvntsLog("ProvSource", "ProvLog", "ProvMessage", 215, EventLogEntryType.Information) 

Crea un Evento che lo salva nella cartella ProvLog e gli da il nome ProvSource con dentro l'informazione ProvMessage e con l'icona Informazioni.
Potete vedere queste informazioni come :

ProvLog = Dove deve essere inserito la vostra informazioni Ex. Application, System, Altro (ProvLog)
ProvSource = Il nome del vostro Programma / Applicativo Ex. ProvSource
ProvMessaggio = Il messaggio con dentro quello che volete 
sCodeErrorApplication  = Il valore 215 corrisponde al codice di errore della nostra applicazione che noi abbiamo assegnato arbitrariamente.

 

VB.NET - FUNZIONE CHE CANCELLA UN EVENT LOG (Codice)

Qui possiamo vedere la funzione che cancella un Evnt Log creato in precedenza :

CODICE VISUAL STUDIO 2010 - VISUAL BASIC .NET - VB.NET:

  Dim EventLog As New System.Diagnostics.EventLog()

  Private Sub EliminaEventoLog(ByVal sSource As String, ByVal sLog As String)
        Dim logName As String
        If EventLog.SourceExists(sSource) Then
            ' Cerco il log associato con il Sorgente .
            logName = EventLog.LogNameFromSourceName(sSource, ".")
            ' Se il lodName corissponde a quello che ho dichiarato procede alla eliminazione
            'Altrimenti esci 
            If (logName <> sLog) Then
                Return
            End If
            'Cancella il Sorgente e il Log
            EventLog.DeleteEventSource(sSource)
            EventLog.Delete(logName)
        End If

    End Sub

Codice Completo di tutte le funzioni trattate sopra.

CODICE VISUAL STUDIO 2010 - VISUAL BASIC .NET - VB.NET:

Public Class Form1
    Dim EventLog As New System.Diagnostics.EventLog()

    Enum sLog As Integer
        Application = 0 'Applicazione
        System = 1 'Sistema
        Security = 2
    End Enum

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
      
        InserisciEventoDefault()

    End Sub


    Private Sub MetodoEvntsLogs(ByVal sSource As String, ByVal sLogs As sLog, ByVal sEvent As String, ByVal sCodeErrorApplication As Integer, ByVal EventLogType As EventLogEntryType)

        If sSource = Nothing Then
            Exit Sub
        End If

        'sSource = "dotNET Sample App"
        'sLog = "Application"
        'sEvent = "Sample Event"
        'sCodeErrorApplication = 233 'ID Event: 233 è il codice che si da l'applicazione 

        Dim sLog As String

        Select Case sLogs
            Case Is = 0
                sLog = "Application"
            Case Is = 1
                sLog = "System"
            Case Is = 2
                sLog = "Security"
            Case Else
                sLog = "Application"
        End Select

        If Not EventLog.SourceExists(sSource) Then
            EventLog.CreateEventSource(sSource, sLog)
        End If

        EventLog.WriteEntry(sSource, sEvent, EventLogType, sCodeErrorApplication)
    End Sub

    Private Sub MetodoEvntsLog(ByVal sSource As String, ByVal sLog As String, ByVal sEvent As String, ByVal sCodeErrorApplication As Integer, ByVal EventLogType As EventLogEntryType)
        If sSource = Nothing And sLog = Nothing Then
            Return
        End If

        If Not EventLog.SourceExists(sSource) Then
            EventLog.CreateEventSource(sSource, sLog)
        End If

        EventLog.WriteEntry(sSource, sEvent, EventLogType, sCodeErrorApplication)
    End Sub

    Private Sub EliminaEventoLog(ByVal sSource As String, ByVal sLog As String)
        Dim logName As String
        If EventLog.SourceExists(sSource) Then
            ' Cerco il log associato con il Sorgente .
            logName = EventLog.LogNameFromSourceName(sSource, ".")
            ' Se il lodName corissponde a quello che ho dichiarato procede alla eliminazione
            'Altrimenti esci 
            If (logName <> sLog) Then
                Return
            End If
            'Cancella il Sorgente e il Log
            EventLog.DeleteEventSource(sSource)
            EventLog.Delete(logName)
        End If

    End Sub

    Private Sub InserisciEventoDefault()
        Dim ssource As String = "MyApplication"
        Dim slog As String = "Application"

        If ssource = Nothing And slog = Nothing Then
            Return
        End If

        If Not EventLog.SourceExists(ssource) Then
            EventLog.CreateEventSource(ssource, slog)
        End If

        EventLog.WriteEntry(ssource, "Ciao Prova inserimento messaggio EventLog", EventLogEntryType.Information, 1000)

    End Sub
End Class


By ImaginSystems & Queen Gin   

Categoria: VB.NET
lunedì, 08 ott 2012 Ore. 18.54

Messaggi collegati


Ora e Data
Mappa
Blogs Amici
    Copyright © 2002-2007 - Blogs 2.0
    dotNetHell.it | Home Page Blogs
    ASP.NET 2.0 Windows 2003