vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück
Rubrik: Verschiedenes / Sonstiges   |   VB-Versionen: VB4, VB5, VB609.09.05
Logging von anwendungsspezifischen Aktionen

Dieser Tipp soll eine Möglichkeit aufzeigen, wie man anwendungsspezifische Aktionen / Operationen in einem externen File mitloggen kann, um bspw. Fehler besser auswerten zu können.

Autor:   Christoph Wruck (Intracs Development©)Bewertung:     [ Jetzt bewerten ]Views:  12.378 
ohne HomepageSystem:  Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11kein Beispielprojekt 

Wir alle wissen wie wichtig das Mitschreiben von anwendungsspezifischen Operationen ist. Gerade auch, um ein methodisch korektes Felher-Managment zu gewähleisten. Darüber hinaus bietet die folgende Funktion auch die Möglichkeit festzustellen, wer, wann und wie etwas durchgeführt wurde.

1. Kopieren Sie den unteren Code in ein neues Modul.

Public Function UserLog(Logging As Boolean, _
  UserName As String, _
  LogStatus As String)
 
  On Error GoTo Err_UserLog
 
  Dim LogFileName As String
  Dim LogFile As Integer
 
  If Logging = True Then
    ' LogFile Name/ kann nach belieben geändert werden
    LogFileName = "C:\DbLog.itc" 
 
    ' Prüfen ob etwas im Log steht, wenn ja dann füge neue Zeile an... 
    If Len(Dir$(LogFileName)) > 0 Then 
      LogFile = FreeFile
      Open LogFileName For Append As LogFile
      ' hier werden die weiteren Einträge geschrieben
      Print #LogFile, UserName & ":" & LogStatus & "_" & Now 
      Close #LogFile
    Else ' Log existiert nicht
        LogFile = FreeFile 
        Open LogFileName For Output As LogFile
        ' Firmenkopf anlegen (wird nur einmal angelegt
        Print #LogFile, "Copyright Intracs © 2002, all rights reserved."; vbCrLf 
        ' ersten Eintrag schreiben
        Print #LogFile, UserName & ":" & LogStatus & "_" & Now 
        Close #LogFile 'schließe Logfile
    End If
  End If
 
  Exit_UserLog:
    Exit Function
 
Err_UserLog:
  MsgBox "Fehler in UserLog(): " & ERR.Description, vbCritical
  Resume Exit_UserLog
End Function 

2. Aufruf der Funktion mit:

Call UserLog(True, "UserName", "MeinText")

Anhang:
Sicher kann man die Funktion auch etwas ausbauen. Es sollte an dieser Stelle auch nur der kleinste Umfang beschrieben werden. Für alle anderen ist folgendes als Anregung mitzugeben.

  1. In der Funktion wird der Variable (LogFileName) der genaue Pfad und Dateiname mitgeteilt (= "C:\DbLog.itc"). An dieser Stelle kann man durch das Einsetzen einer Subfunktion zur Ermittlung des Systempfades das Ganze automatisieren.
     
  2. Im Funktionsaufruf [Call UserLog(True, "UserName", "MeinText")] ist es natürlich auch möglich, diesen in den folgenden Aufruf umzuwandeln: Call UserLog(True, "UserName", ERR.Description), so erhält man auch den von der Entwicklungsumgebung generierten Fehlercode im Log.
     
  3. In einer Access-Anwendung mit Rollen/Rechte-Konzept wird der UserName in die Funktion mit eingeschleust, um auch über den Nutzer, der die entsprechende Funktion ausführt, ein Fehlerbild zu erhalten.

Viel Spaß mit dem Code...
 

Dieser Tipp wurde bereits 12.378 mal aufgerufen.

Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

Über diesen Tipp im Forum diskutieren
Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

Neue Diskussion eröffnen

nach obenzurück


Anzeige

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

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.
 
   

Druckansicht Druckansicht Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle 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.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel