Log4J не добавляет новые строки между записями файла журнала - PullRequest
4 голосов
/ 27 ноября 2009

Я только начинаю с log4j. У меня нет проблем с тем, чтобы он читал мой файл свойств и фактически регистрировал события, но, похоже, он добавляет все в конец одной и той же строки. Мой файл свойств выглядит так:

# 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

Выше было изменено из примера в log4j Полное руководство . Я безрезультатно просмотрел книгу и Google, чтобы получить список того, что означают все варианты, но безрезультатно.

Я использую log4j версии 1.2.15 с Java 6. Что я могу сделать, чтобы получить каждую запись журнала в отдельной строке и где я могу найти список всех опций и их действия?

Ответы [ 2 ]

10 голосов
/ 27 ноября 2009

Заменить

log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x -
%m%n

с

log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

То же самое для A2 + там удалить % после n %m%n% -> m%n

Похоже, что в ваших строках ConversionPattern вы видите новую строку после символа -. Это объясняет, почему символ новой строки не выводится (%n -> выводит символ новой строки в зависимости от платформы)

Btw. если вы хотите знать, что означают варианты

Javadoc: PatternLayout

4 голосов
/ 27 ноября 2009

Те %m%n находятся на одной линии с остальными? Если нет, это объяснило бы это.

Да, а для второго аппендера у вас есть% после %n. Это тоже не выглядит правильным.

...