Laden...

LogFile und Style

Erstellt von Floschi vor 15 Jahren Letzter Beitrag vor 15 Jahren 2.092 Views
Floschi Themenstarter:in
193 Beiträge seit 2007
vor 15 Jahren
LogFile und Style

Hallo zusammen.

Ich habe eine Anwendung die alle Aktionen die ducrhgeführt werden auch mitloggen soll.(Benutzer hinzufügen/löschen ....)

Jetzt höre ich von vielen Seiten wie so ein logfile auszusehen hat, nur sind die Vorschläge, die ich höre, nicht immer gleich.

Meine Frage: Gibts es eine Art Styleguide für Logfiles und wenn ja wo?

Vielen Dank

Floschi

**:::{style="color: darkblue;"}If debugging is the process of removing bugs, then programming must be the process of putting them in.){darkblue}** Dijkstra
630 Beiträge seit 2007
vor 15 Jahren

Hallo,

muss es unbedingt eine Logdatei sein? Du könntest nähmlich den Windows Event-Log verwenden.

Gruss
tscherno

To understand recursion you must first understand recursion

http://www.ilja-neumann.com
C# Gruppe bei last.fm

Floschi Themenstarter:in
193 Beiträge seit 2007
vor 15 Jahren

Ja sollte ein LogFile sein.

**:::{style="color: darkblue;"}If debugging is the process of removing bugs, then programming must be the process of putting them in.){darkblue}** Dijkstra
49.485 Beiträge seit 2005
vor 15 Jahren

Hallo Floschi,

die Anforderungen an Log-Files sind sehr unterschiedlich. Deshalb gibt es unterschiedliche Meinungen dazu. Einen Styleguide gibt es nicht. Natürlich kann man sich an bestehenden Log-Dateien orientieren. Typischerweise wird man mindestens Datum und Uhrzeit der Logeinträge angeben.

herbivore

691 Beiträge seit 2007
vor 15 Jahren

Moin.

Ich verwende Log4Net. Was ich in meinen Logs auch immer interessant finde, sind neben der Timestamp und der Nachricht die Angaben wie Threadnummer von dem der Logeintrag kommt und die Möglichkeit verschiedene Loglevel (macht dir die Einträge filterbar).

Du kannst auch den Stacktrace verwenden, um die loggende Methode herauszufinden.

Schön sehen Logdateien aus, wenn sie ein einheitliches Format haben: D.h. alle Einträge beginnen mit einem Timestamp und sonstigen Informationen (Loglevel z.B.), welche jedoch mit Leerzeichen bis zu einer bestimmten Marke aufgefüllt werden. Anschließend erfolgt der zu loggende Text.

mit freundlichen Grüßen,
Tomot

Projekte: www.gesellschaftsspieler-gesucht.de

S
401 Beiträge seit 2008
vor 15 Jahren

Hallo,

einen allgemeine Style-Richtlinie gibt es nicht, aber warum eigentlich nicht? Ich persönlich würde mich an Log4Net bzw. Log4J orientieren und das ganze als eine XML-File abspeichern. Der Vorteil bei einer XML-File liegt auf der Hand. XML gibt eine einheidliche Struktur vor und das ganze kann bequem mit einem XML-Viewer, HMTL-Browser, ... betrachtet werden. Zudem könntest du eine Style-Datei ala z.B. CSS mit dran hängen.

3.971 Beiträge seit 2006
vor 15 Jahren

Die Angabe der ThreadID hat meist keinen brauchbaren Wert wenn du nur mit einem Thread arbeitest bzw. wenn du die Klasse ThreadPool verwendest.

Die Verwendung von StackTrace würde ich vermeiden. Die Aufzeichnung des StackTraces ist performancelastig und sollte daher nur bei wenigen asugewählten Funktionen genutzt werden und das sehr sparsam. Weiterhin, fängst du eine Exception ab und logst diese Klasse ist immer ein StackTrace bereits vorhanden, der genutzt werden kann und sollte.

Es gibt 3 Arten von Menschen, die die bis 3 zählen können und die, die es nicht können...

G
497 Beiträge seit 2006
vor 15 Jahren

Hallo,

einen allgemeine Style-Richtlinie gibt es nicht, aber warum eigentlich nicht? Ich persönlich würde mich an Log4Net bzw. Log4J orientieren und das ganze als eine XML-File abspeichern. Der Vorteil bei einer XML-File liegt auf der Hand. XML gibt eine einheidliche Struktur vor und das ganze kann bequem mit einem XML-Viewer, HMTL-Browser, ... betrachtet werden. Zudem könntest du eine Style-Datei ala z.B. CSS mit dran hängen.

Logfiles in XML? Warum nicht gleich einen Text mit TTF-Fonts rendern und als hochauflösende Bitmap im Verzeichnis ablegen? Logfiles sind für Diagnostikzwecke da, die müssen lesbar und vor allem nicht zu aufgebläht sein. Weißt du, wie viel Overhead eine XML-Datei mitbringt?

Floschi Themenstarter:in
193 Beiträge seit 2007
vor 15 Jahren

Datum und Uhrzeit sind drin.

Ich grenze die einzelen Einträge noch mit Trennern ab(--------------------),
so daß die einzelnen Einträge auch direkt in Auge springen,
hätte ja sein können daß es da irgendwo einen Styleguide gibt.

**:::{style="color: darkblue;"}If debugging is the process of removing bugs, then programming must be the process of putting them in.){darkblue}** Dijkstra
T
574 Beiträge seit 2008
vor 15 Jahren

Wir verwenden in unserem Projekt die Logging-Möglichkeiten aus der Microsoft-Enterprise-Library. Da die Unmengen Sachen kann was aber in Wirklichkeit kein Mensch braucht und auch nicht lesen kann, haben wir die Logs natürlich so angepasst, das man sie im Real-Betrieb verwenden kann.
Wir haben es jetzt so aufgebaut, dass es ein trace.log gibt, wo alle Datenbankzugriffe geloggt werden (über unseren eigenen DAL), ein error.log wo die Exceptions im Detail noch ausgeworfen werden und einen process.log wo man Meldungen vom Code einbauen kann um zu sehen welche Code-Teile irgendwo durchlaufen werden (wird selten bis gar nicht verwendet).

Das TraceFile sieht in etwa so aus:

/*29.08.2008 17:15:15.130*/ exec DAOGemeinde_get @GemNr=7010 /*(2ms)*/
/*29.08.2008 17:15:15.130*/ (T 62828970)Transaction opened
/*29.08.2008 17:15:15.240*/ (T 62828970) exec DAOPerson_update @UrsprungNr=7010017338,@Nachname='Ableitner-Unterschaumberg' /*(2ms)*/
/*29.08.2008 17:15:15.365*/ (T 62828970) exec DAOKonto_update @Person_UrsprungNr=7010017338,@Gemeinde_GemNr=7010 /*(107ms)*/
/*29.08.2008 17:15:15.412*/ (T 62828970)Transaction committed

Ich hab außerdem einen FileWatcher geschrieben, der diese Files überwacht und außerdem die verschiedenen Sachen auch farbig hervorheben kann, sodass es für den Entwickler sofort sichtbar ist, wenn irgendwo eine Fehlermeldung ist, Transaktionen werden farblich hervorgehoben etc.