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?

War es hilfreich?

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

Javadoc: MusterLayout

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top