Einzelnen Beitrag anzeigen

Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#1

Ideen gesucht zu gemeinsamen Fehlerlogging in Dienst und GUI

  Alt 21. Dez 2008, 17:05
Hi DPler,

ich will noch schnell in der Vorweihnachtszeit ein "Problem" lösen:

Ich brauche innerhalb einer GUI und eines Dienstes Fehler/Statuslogging. Auf Low-Level Ebene ist das kein Problem, hier wird alles per exclusiven Dateizugriff im Stil vergleichbar Log4D geloggt.

Es geht bei dieser Überlegung um das verständliche Logging für den Benutzer, also auf Ebene der Business Logic. Bisher erledigt das die GUI mit einer kleinen ObjectList, die Statusart, Uhrzeit und Meldung enthält (in Zielsprache des Benutzers).

Wenn nun der Service sich um die Verarbeitung kümmert, läuft die GUI nur als visueller Aufbereiter der vorhandenen Daten. Dabei sollen auch Events seit dem Service-Start angezeigt werden, da dieser ja zeitlich unabhängig gestartet werden kann.

Hansa hat in einem anderen Thread bezüglich Logging eine Datenbank vorgeschlagen. Das hätte den Vorteil, daß man sich die Arbeit für die IPC zwischen GUI und Service sparen kann.

Nachteil wäre, da das Logging erheblich umfangreich ist, die Datenbank müsste eine Umlauf-Rotation erhalten, sonst wird das schnell zu viel an Informationen.

Ich stehe also vor der Wahl:
1) IPC zwischen Dienst > GUI und dementsprechend alle bereits vorhandene Statusmeldungen per Pipe zu übermitteln (bei 10.000 Einträgen können das schnell mal 3 MB werden)
2) Datenbank in die der Dienst loggt. Die GUI schaut nur nach, ob etwas neues vorliegt und setzt den Status (OK, Fehler etc) abhängig vom letzten Eintrag - neben der vollständigen Anzeige der Logmeldung.

Was wäre hier der elegantere Weg?

Gruß Assertor
der gerade ein 48 Stunden QS Code-Audit hinter sich gebracht hat
Frederik
  Mit Zitat antworten Zitat