AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte [Unit] Errorlog
Thema durchsuchen
Ansicht
Themen-Optionen

[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
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#1

[Unit] Errorlog

  Alt 10. Jun 2008, 19:46
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, 128x aufgerufen)
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
Larsi

Registriert seit: 10. Feb 2007
2.262 Beiträge
 
Delphi 2007 Professional
 
#2

Re: [Unit] Errorlog

  Alt 10. Jun 2008, 19:58
Hi,
klingt ganz gut. Was loggt die Lob Unit denn Alles?
Ein Tag ohne Delphi ist ein verlorener Tag!

Homepage zu meinem neuen Programm: StreamZ
  Mit Zitat antworten Zitat
Larsi

Registriert seit: 10. Feb 2007
2.262 Beiträge
 
Delphi 2007 Professional
 
#3

Re: [Unit] Errorlog

  Alt 10. Jun 2008, 19:59
Hat sich erledigt, habs verstanden
Ein Tag ohne Delphi ist ein verlorener Tag!

Homepage zu meinem neuen Programm: StreamZ
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: [Unit] Errorlog

  Alt 10. Jun 2008, 20: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.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: [Unit] Errorlog

  Alt 10. Jun 2008, 20: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.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: [Unit] Errorlog

  Alt 10. Jun 2008, 20:17
Beliebige Nachrichten. Auch Erfolgsmeldungen kann man loggen. Falls der Entwickler dein Log erweitern will, sollte er dies tun dürfen.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Benutzerbild von ste_ett
ste_ett

Registriert seit: 10. Sep 2004
Ort: Dülmen
464 Beiträge
 
Delphi 7 Professional
 
#7

Re: [Unit] Errorlog

  Alt 10. Jun 2008, 20: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
"Geht nicht!" ist keine Fehlerbeschreibung und "Hab ich schon versucht!" keine Antwort!

Hey, it compiles! Ship it!
  Mit Zitat antworten Zitat
Benutzerbild von Diamondback2007
Diamondback2007

Registriert seit: 2. Feb 2007
260 Beiträge
 
Delphi 2007 Professional
 
#8

Re: [Unit] Errorlog

  Alt 17. Jun 2008, 08: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

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: [Unit] Errorlog

  Alt 24. Okt 2008, 16: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.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
Jonelmeier

Registriert seit: 27. Sep 2007
Ort: Hamburg
96 Beiträge
 
Delphi XE Starter
 
#10

Re: [Unit] Errorlog

  Alt 30. Okt 2008, 09: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      


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 +1. Es ist jetzt 19:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz