Log4J没有在日志文件条目之间添加换行符

ssa*_*akl 4 java logging log4j properties

我刚开始使用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
Run Code Online (Sandbox Code Playgroud)

以上内容是根据完整手册log4j中的示例进行修改的.我毫不费力地浏览了这本书和谷歌,以获得所有选项的含义列表,但无济于事.

我正在使用带有Java 6的log4j 1.2.15版.如何在单独的行中获取每个日志条目以及在哪里可以找到所有选项的列表以及它们的作用?

jit*_*ter 10

更换

log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x -
%m%n
Run Code Online (Sandbox Code Playgroud)

log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
Run Code Online (Sandbox Code Playgroud)

同样的A2 + %在n %m%n%- > 之后删除了m%n

基本上你似乎-在你的ConversionPattern行中的字符之后有一个换行符.这可以解释为什么不输出换行符(%n- >输出平台依赖换行符)

顺便说一句.如果你想知道这些选项的含义

javadoc:PatternLayout