AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte [Unit] Errorlog

[Unit] Errorlog

Ein Thema von Fussball-Robby · begonnen am 10. Jun 2008 · letzter Beitrag vom 30. Jan 2009
Antwort Antwort
Seite 1 von 2  1 2   
Benutzerbild von Fussball-Robby
Fussball-Robby
Registriert seit: 22. Okt 2007
Mit der Unit ErrorLog ist es ganz einfach möglich, einen Errorlog für ein eigenes Programm zu erstellen, indem alle Fehler, die in der Anwendung auftreten, geloggt werden. Man muss die Unit unter uses eintragen und sich ganze 3 Befehle merken:ErrorLog.Start(FileName); Wie der Name schon sagt dient dieser Befehl zum starten des Protokollierens. Es wird eine Datei namens FileName angelegt, in der der Log gespeichert wird. Existiert die Datei bereits, wird die Liste zuvor noch geladen. Tritt kein Fehler auf, wird die Datei nicht erstellt.
Befehl No. 2 (ihr habt es euch bestimmt schon gedacht ):ErrorLog.Stop; Stoppt die Auflistung der Fehler bis wieder Start aufgerufen wird. Wird Start mit einem leeren String als Parameter aufgerufen, wird der FileName nicht erneuert, was nützlich zur Wiederaufnahme des Protokolls ist.
3. Befehl:ErrorLog.Write(Flag, Msg); Mit diesem Befehl ist es nun möglich, eigene Nachrichten zu loggen. Unter Flag trägt man quasi die Überschrift der Nachricht ein (z.B. "Info" oder "Warnung"). Msg ist dann die Nachricht, die geloggt wird.


Anwendung:
ErrorLog.Write('Info', 'Objekt XYZ wurde erstellt'); ergibt zum Beispiel:
Code:
[24.10.2008 / 17:01:42] [Info] Objekt XYZ wurde erstellt
Zusätzlich zu jeder Nachricht (eigene und automatisch geloggte) wird also das aktuelle Datum sowie die Uhrzeit gespeichert.

Vielleicht kann ja jemand die Unit gebrauchen.

Mfg
Angehängte Dateien
Dateityp: pas uerrorlog_149.pas (3,2 KB, 127x aufgerufen)
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
 
Larsi

 
Delphi 2007 Professional
 
#2
  Alt 10. Jun 2008, 20:58
Hi,
klingt ganz gut. Was loggt die Lob Unit denn Alles?
  Mit Zitat antworten Zitat
Larsi

 
Delphi 2007 Professional
 
#3
  Alt 10. Jun 2008, 20:59
Hat sich erledigt, habs verstanden
  Mit Zitat antworten Zitat
Apollonius

 
Turbo Delphi für Win32
 
#4
  Alt 10. Jun 2008, 21:02
Hallo Robert,
ich finde es etwas unpassend, dass du bei jeder Exception die gesamte Datei neu schreibst. Mit den alten Pascal-Routinen geht das viel besser: Einfach mit Writeln anfügen und dann Flush aufrufen.

Eine interessante Ergänzung wäre es, wenn du noch die Möglichkeit bötest, über einen Hook auf HandleOnException und HandleAnyException alle Exceptions zu loggen, also auch die, die bereits durch einen inneren Try-Except-Block abgefangen werden.
Außerdem solltest du auch eine Methode veröffentlicht, die es dem Entwickler ermöglicht, eigene Nachrichten zu loggen.
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

 
Delphi 7 Enterprise
 
#5
  Alt 10. Jun 2008, 21:14
Zitat von Apollonius:
ich finde es etwas unpassend, dass du bei jeder Exception die gesamte Datei neu schreibst. Mit den alten Pascal-Routinen geht das viel besser: Einfach mit Writeln anfügen und dann Flush aufrufen.
Werde ich nachher noch machen.
Zitat von Apollonius:
Eine interessante Ergänzung wäre es, wenn du noch die Möglichkeit bötest, über einen Hook auf HandleOnException und HandleAnyException alle Exceptions zu loggen, also auch die, die bereits durch einen inneren Try-Except-Block abgefangen werden.
Werde ich mir mal anschauen und, wenn ich mal die Zeit dazu habe, einbauen.
Zitat von Apollonius:
Außerdem solltest du auch eine Methode veröffentlicht, die es dem Entwickler ermöglicht, eigene Nachrichten zu loggen.
Was für Nachrichten meinst du damit jetzt?

Auf jeden Fall schonmal Danke für die Anregungen
Robert L.
  Mit Zitat antworten Zitat
Apollonius

 
Turbo Delphi für Win32
 
#6
  Alt 10. Jun 2008, 21:17
Beliebige Nachrichten. Auch Erfolgsmeldungen kann man loggen. Falls der Entwickler dein Log erweitern will, sollte er dies tun dürfen.
  Mit Zitat antworten Zitat
Benutzerbild von ste_ett
ste_ett

 
Delphi 7 Professional
 
#7
  Alt 10. Jun 2008, 21:49
Zitat von Apollonius:
Beliebige Nachrichten. Auch Erfolgsmeldungen kann man loggen. Falls der Entwickler dein Log erweitern will, sollte er dies tun dürfen.
Exakt.

(Optionale) Flags für Info, Error und Debug.
Stefan
  Mit Zitat antworten Zitat
Benutzerbild von Diamondback2007
Diamondback2007

 
Delphi 2007 Professional
 
#8
  Alt 17. Jun 2008, 09:38
Ja, vor allem ein Flag für Debug wäre super praktisch.
Fabian E.
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

 
Delphi 7 Enterprise
 
#9
  Alt 24. Okt 2008, 17:30
Nachdem dieser Thread völlig in Vergessenheit geraten ist, habe ich ihn eben wieder entdeckt und dachte mir, ich könnte doch mal die Verbesserungsvorschläge umsetzen, es gibt also eine neue Version der Unit UErrorLog


Zitat von Apollonius:
ich finde es etwas unpassend, dass du bei jeder Exception die gesamte Datei neu schreibst. Mit den alten Pascal-Routinen geht das viel besser: Einfach mit Writeln anfügen und dann Flush aufrufen.
Die einzelnen Nachrichten werden nun nur noch angehängt, es wird nicht mehr die ganze Datei geladen. Vor allem bei langen Logs hätte dies schon zu Problemen geführt..
Zitat von Apollonius:
Außerdem solltest du auch eine Methode veröffentlicht, die es dem Entwickler ermöglicht, eigene Nachrichten zu loggen.
Ist jetzt mit dem Befehl ErrorLog.Write() möglich, eine Erklärung dazu ist im 1. Post.

Auch die neue Version ist im 1. Post, ich hoffe wiederum, dass sie vielleicht irgendjemand mal gebrauchen kann. Auch Kritik/Verbesserungsvorschläge (evtl. auch Lob? ) sind natürlich immer gerne gesehen
Robert L.
  Mit Zitat antworten Zitat
Jonelmeier

 
Delphi XE Starter
 
#10
  Alt 30. Okt 2008, 10:28
Also ich muss sagen, deine Unit ist echt super. Werde sie direkt in meinem Programm verwenden (wird bald hier in der DP Vorgestellt)...
Super Arbeit!

Gruß aus Hamburg!
Jonas
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +2. Es ist jetzt 01:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf