vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: Dateisystem · Dateien lesen/schreiben   |   VB-Versionen: VB.NET15.06.07
LOG-Datei zur Fehlerprotokollierung (.NET)

Eine Log-Datei erstellen, um darin Fehler zu protokollieren.

Autor:   Philip KleimeyerBewertung:  Views:  37.522 
www.aeitforum.deSystem:  WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Laufzeitfehler sind etwas "hässliches", vor allem dann, wenn der End-Anwender nicht genau beschreiben kann, wie es zu dem Fehler kam. Daher kann es sinnvoll sein, sämtliche Laufzeitfehler zusätzlich in einer Log-Datei zu protokollieren, die der Anwender dem Entwickler anschließend zur Fehleranalyse zuschickt.

Nachfolgend möchten wir zeigen, wie man automatische Mit-Protokollieren von nicht abgefangenen Laufzeitfehlern realisieren kann.

Zunächst sollten Sie sich folgenden Tipp anschauen, bei dem gezeigt wird, wie man eine zentrale Fehlerbehandlung implementiert:
( Zentrale Fehlerbehandlung (VB.NET)

Fügen Sie jetzt noch nachfolgenden Code in das Modul ein:

  ''' <summary>
  ''' Erstellt auf dem FileSystem eine *.log Datei, die Fehlermeldungen protokolliert
  ''' </summary>
  ''' <param name="Message">Nachricht, die protokolliert wird</param>
  ''' <param name="LogFileName">Dateiname der Log-Datei</param>
  ''' <remarks></remarks>
  Public Sub LogMessage(ByVal Message As String, Optional ByVal LogFileName As String = "")
    If LogFileName.Length = "" Then
      ' Dateiname anhand des aktuellen Datums festlegen
      LogFileName = Application.StartupPath & "\EventLog_" & _
        Format$(Now, "yyyy-mm-dd") & ".log"
    End If
 
    Try
      ' Datei öffen (Text anhängen)
      Dim oStream As IO.StreamWriter = System.IO.File.AppendText(LogFileName)
 
      ' Datum und Uhrzeit autom. eintragen
      oStream.WriteLine(Now)
 
      ' Message (Fehlermeldung) speicherrn
      oStream.WriteLine(Message & vbCrLf)
 
      ' Datei schließen
      oStream.Close()
 
    Catch ex As Exception
 
    End Try
  End Sub

Jetzt brauchen Sie nur noch GeneralErrorHandler-Prozedur um den Aufruf von LogMessage zu ergänzen:

  ' zentrale Fehlerbehandlung
  Private Sub GeneralErrorHandler(ByVal sender As Object, _
    ByVal e As System.Threading.ThreadExceptionEventArgs)
 
    ...
 
    ' Fehler in LogFile protkollieren
    LogMessage(sError, Application.StartupPath & "\EventLog.log")
  End Sub



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.