Speichern des Protokolls in der .log-Datei mit SLF4j / log4j

8

Ich verwende SLF4J und nach Bedarf muss ich die Logs in der .log-Datei speichern. Aber wenn ich das Programm ausführe, wird das Protokoll nicht in die Log-Datei geschrieben.

Klasse:

%Vor%

log4j.properties

%Vor%

Ich kann Informationen sehen, warnen, Fehler auf der Konsole aber nicht Debug-Wert .. !!

Kann jemand mir helfen, Protokoll in der checkLog.log Datei zu speichern. ??

    
Arvind 19.10.2010, 10:02
quelle

2 Antworten

9

Ich habe gerade das Beispiel versucht, das Sie gegeben haben, und es hat gut für mich funktioniert. Es gibt mehrere Dinge, die ich überprüfen / versuchen würde:

  • Überprüfen Sie, ob Sie in das Stammverzeichnis von C schreiben können: - schreiben Sie stattdessen:

    %Vor%

    um sich im aktuellen Ordner einzuloggen

  • Fügen Sie einen Konsolenlogger hinzu, um zu sehen, ob er in der Konsole funktioniert:

    %Vor%

    Wenn Sie die Anwendung ausführen, sollten Sie sich in der Konsole und in der Datei anmelden.

  • Überprüfen Sie, ob alle sl4j-Bibliotheken im Pfad enthalten sind - Sie benötigen slf4j-api und slf4j-log4j12 jars für Ihren Klassenpfad

  • Stellen Sie sicher, dass sich log4j.properties im Klassenpfad befindet

Hoffe, das hilft.

    
icyrock.com 13.11.2010 02:26
quelle
1

Stellen Sie sicher, dass Sie nur mit einem Protokollierungsrahmen eine Bindung haben. Wenn Sie mehr als ein Protokollierungs-Framework-Jar haben, können Sie NICHT die Ausgabe sehen.

Ich hatte ein ähnliches Problem und fand dann heraus, dass der Klassenpfad sowohl slf4j-simple-1.7.5.jar als auch log4j.jar hatte. Die Protokollausgabe wurde also nur auf der Konsole geschrieben. Das Entfernen des ersten vom Klassenpfad half.

Also check console, you should be getting a warning/error message.

    
rai.skumar 20.06.2013 06:58
quelle

Tags und Links