Log4j keine neuen Zeilen zwischen Logfile -Einträgen hinzufügen
-
05-07-2019 - |
Frage
Ich fange gerade erst mit Log4j an. Ich habe kein Problem damit, meine Eigenschaftendatei zu lesen und Ereignisse zu protokollieren, aber es scheint alles an das Ende derselben Zeile zu geben. Meine Eigenschaftendatei sieht so aus:
# A1 is set to be a ConsoleAppender.
log4j.appender.A1=org.apache.log4j.ConsoleAppender
# A2 is set to be a ConsoleAppender.
log4j.appender.A2=org.apache.log4j.FileAppender
# A1 uses PatternLayout.
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x -
%m%n
# A2 uses PatternLayout.
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=%-4r [%t] %-5p %c %x -
%m%n%
log4j.appender.A2.file=grocerylister.log
Das obige wurde aus einem Beispiel in modifiziert log4j das komplette Handbuch. Ich habe das Buch und Google erfolglos durchgesehen, um eine Auflistung zu erhalten, was alle Optionen bedeuten, ohne Erfolg.
Ich verwende log4j Version 1.2.15 mit Java 6. Was kann ich tun, um jeden Protokolleintrag in einer separaten Zeile zu erhalten und wo kann ich eine Liste der gesamten Optionen finden und was sie tun?
Lösung
Ersetzen
log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x -
%m%n
mit
log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
Gleiches gilt für a2 + dort entfernen die %
danach %m%n%
-> m%n
Grundsätzlich scheinen Sie nach der eine neue Linie zu haben -
Charakter in deinem ConversionPattern
Linien. Das würde erklären, warum die Newline nicht ausgegeben wird (%n
-> Ausgibt Plattform abhängig von dem neuen Charakter)
Übrigens. Wenn Sie wissen möchten, was die Optionen bedeuten
Andere Tipps
Sind jene %m%n
Auf der gleichen Zeile wie der Rest? Wenn nicht, würde das es erklären.
Oh, und für den 2. Appender haben Sie einen % danach %n
. Das sieht auch nicht richtig aus.