Hi zusammen,
die Frage ist eher von konzeptioneller Natur als technischer. Es geht um das Loggen von Exceptions. Hier gibt es bekanntlich mehrere Wege die zum Ziel führen. Ich würde gerne die Exceptions in eine Datei schreiben, dazu könnte ich ein FileWriter nehmen, oder aber auch die Logger-Klasse oder, oder, oder. Ich habe einfach einmal die Logger-Klasse genommen, weil es mir am sinnvollsten erschien. Leider war das Ergebniss nicht so wie erwünscht. Die Bildschirmausgabe sah so aus:
Während die Ausgabe in der Datei ein XML-Format hat:
Zusätzlich wurde beim erneuten Programmstart nicht die Sequenz fortgesetzt, sondern ein neuer XML-Header geschrieben und dann erneut begonnen. Das gefällt mir nicht, ließe sich aber sicherlich durch formatieren der Logger-Ausgabe lösen. Ich glaube es war möglich die Ausgabe entsprechend anzupassen :bahnhof:
Nun zur eigentlichen Problematik. Ich möchte nichts weiter als eine Textdatei die wie folgt die Fehler loggt:
Sollte man soetwas durch formatieren des Loggers gestallten, oder doch eher durch simples Schreiben in ein Log mittels FileWriter? Was ist effizienter? Möchte jemand vielleicht Erfahrungen teilen
die Frage ist eher von konzeptioneller Natur als technischer. Es geht um das Loggen von Exceptions. Hier gibt es bekanntlich mehrere Wege die zum Ziel führen. Ich würde gerne die Exceptions in eine Datei schreiben, dazu könnte ich ein FileWriter nehmen, oder aber auch die Logger-Klasse oder, oder, oder. Ich habe einfach einmal die Logger-Klasse genommen, weil es mir am sinnvollsten erschien. Leider war das Ergebniss nicht so wie erwünscht. Die Bildschirmausgabe sah so aus:
Code:
10.06.2010 11:27:13 de.ergo_fit.cardea.test.TrainingPanel <init>
SCHWERWIEGEND: null
java.lang.Exception: Ich bin garnicht hier!
at de.ergo_fit.cardea.test.TrainingPanel.<init>(TrainingPanel.java:59)
at de.ergo_fit.cardea.test.PanelManager.loadPanel(PanelManager.java:33)
at de.ergo_fit.cardea.test.StartPanel$1.actionPerformed(StartPanel.java:26)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
...
Während die Ausgabe in der Datei ein XML-Format hat:
Code:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE log SYSTEM "logger.dtd">
<log>
<record>
<date>2010-06-09T17:50:41</date>
<millis>1276098641672</millis>
<sequence>0</sequence>
<logger>de.ergo_fit.cardea.test.TrainingPanel</logger>
<level>SEVERE</level>
<class>de.ergo_fit.cardea.test.TrainingPanel</class>
<method><init></method>
<thread>10</thread>
<exception>
<message>java.lang.Exception: Ich bin garnicht hier!</message>
<frame>
<class>de.ergo_fit.cardea.test.TrainingPanel</class>
<method><init></method>
<line>59</line>
</frame>
Zusätzlich wurde beim erneuten Programmstart nicht die Sequenz fortgesetzt, sondern ein neuer XML-Header geschrieben und dann erneut begonnen. Das gefällt mir nicht, ließe sich aber sicherlich durch formatieren der Logger-Ausgabe lösen. Ich glaube es war möglich die Ausgabe entsprechend anzupassen :bahnhof:
Nun zur eigentlichen Problematik. Ich möchte nichts weiter als eine Textdatei die wie folgt die Fehler loggt:
Code:
[2010/05/24 09:16:32] [Error] Klassenname: Fehlerbeschreibung
Sollte man soetwas durch formatieren des Loggers gestallten, oder doch eher durch simples Schreiben in ein Log mittels FileWriter? Was ist effizienter? Möchte jemand vielleicht Erfahrungen teilen