Loggen mit log4j

hier noch die Datei, die war beim letzten Eintrag irgendwie nicht dabei...
 

Anhänge

  • log4j.txt
    687 Bytes · Aufrufe: 59
Welche Exception? Das ist bis jetzt meine gesamte GUI-Klasse. (Das ist mein erstes größeres Programm...:( )
 
Ja an sich funktioniert es, bis auf das die Ausgabe auch in der Console erfolgt. Kann man das noch irgendwie unterdrücken? Und es kommt eine java.lang.NullPointerException wenn ich auf das Textfeld für den Namen zugreifen will.
Code:
String name = GUI.logdatei.getText();

Na die Exception die du hier erwähnt hast.

MFG

Sascha
 
Das ist meine momentane Konsolenausgabe:
2008-07-02 10:43:42,893 [main] DEBUG root - Programm gestartet
java.lang.NullPointerException
2008-07-02 10:43:44,534 [AWT-EventQueue-0] DEBUG root - Anweisung: browseSrc
2008-07-02 10:43:47,455 [AWT-EventQueue-0] DEBUG root - Anweisung: konvert
2008-07-02 10:43:51,579 [AWT-EventQueue-0] INFO root - Die Konvertierung war erfolgreich

Es wird halt keine log-Datei angelegt wegen der Exception.
 
Allerdings möchte ich doch gern, dass das Programm selbst die Angaben liefert, die in die Datei geschrieben werden sollen

Wenn es dir wirklich nur darum geht, die Fehler zu loggen, die dein Programm von alleine erkennt (Exceptions) und nicht noch zusätzlich Log-Informationen mitgeben willst, wäre vielleicht auch das eine Möglichkeit:

Java:
try {
           System.setErr(new PrintStream("./fehler.txt"));
} catch (FileNotFoundException e) { e.printStackTrace(); }

Ist von der Api her vielleicht nicht ganz so mächtig, aber für einfaches Logging durchaus brauchbar. Leitet im Grunde die FehlerInformationen von der Konsole in eine Textdatei um. Die könntest du dann noch mit Datum und Uhrzeit versehen und du hast eine Logdatei pro Programmstart.
 
Hallo,
nach einigen anderen Aufgaben, bin ich wieder bei meiner Programmieraufgabe gelandet. Bis auf das Schreiben der Logdatei funktioniert jetzt alles. Habe jetzt so viel hin und her probiert, dass folgende Fehler kommen:

log4j:WARN File option not set for appender [stdout].
log4j:WARN Are you using FileAppender instead of ConsoleAppender?
log4j:ERROR No output stream or file set for the appender named [stdout].

Warum versteh ich leider nicht so richtig:(

Das ist meine Klasse:
Code:
public class LogFileWrite {
	
	public static Logger logger = Logger.getLogger(LogFileWrite.class);
	
	public void logging(String dateiName){
		try{
			PatternLayout layout = new PatternLayout("%d [%t] %-5p %c - %m %n");
			FileAppender fa	= new FileAppender(layout, dateiName, false);
			logger.addAppender(fa);
			logger.setLevel(Level.ALL);
		}
		catch (Exception ex){
			System.out.println(ex);
		}
	}
	
}

Anbei noch die Propertiesdatei. Hier habe ich zum Test einiges auskommentiert. Allerdings haben die ganzen Versuche keinen Erfolg gebracht:confused::confused::confused:
Hoffe ihr könnt mir helfen, damit ich das endlich fertig bekomme...
Danke euch schon mal wie verrückt!

LG irfl
 

Anhänge

  • log4j.txt
    686 Bytes · Aufrufe: 30
log4j:WARN File option not set for appender [stdout].
log4j:WARN Are you using FileAppender instead of ConsoleAppender?
log4j:ERROR No output stream or file set for the appender named [stdout].

Warum versteh ich leider nicht so richtig:(
Nicht ernsthaft, oder? Lies doch mal die Ausgabe!
Are you using FileAppender instead of ConsoleAppender?
Und nun schau in deinen Code ;)

REINHAUN!
 
Also ich hab das schon übersetzen können. Ich möchte ja auch den FileAppender benutzen, da ich eine Ausgabe in eine Datei möchte (die wird auch aktualisiert - also Bearbeitungsdatum/-zeit, aber es steht nichts drin). Auf der Console möchte ich nichts. Deswegen versteh ich auch nicht, warum ich die Meldung bekomme!
 
Langsam der Verzweiflung nahe

Durch endloses rumprobieren hab ich scheinbar die Fehler erweitert:(

log4j:WARN File option not set for appender [stdout].
log4j:WARN Are you using FileAppender instead of ConsoleAppender?
log4j:WARN No appenders could be found for logger (kernfunktion.LogFileWrite).
log4j:WARN Please initialize the log4j system properly.

Verstehe einfach nicht woran es liegt. :confused: Habe auch schon alle möglichen Tutorials durchprobiert, aber das Ganze will einfach nicht laufen...
 
ich denke mal Log4J will damit sagen, dass er properties erwartet, damit er weiß was er machen soll.
suche doch mal im netz nach log4j.properties vielleicht erhälst Du da eine Idee, was fehlt.
 

Neue Beiträge

Zurück