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

问题描述:

我刚从log4j开始。我没有问题,它读取我的属性文件并实际记录事件,但它似乎将所有内容都追加到同一行的末尾。我的属性文件看起来是这样的: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的完整的手册修改。我毫无结果地浏览了这本书和谷歌,看看所有选项的含义,但无济于事。

我在使用Java 6时使用了log4j版本1.2.15。我能做些什么来获取每个日志条目的单独行,以及我可以在哪里找到所有选项以及它们的功能列表?

更换

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

+0

哇,我感到愚蠢。我甚至没有想过要把所有东西放在同一条线上。这一改变效果很好。谢谢! – ssakl 2009-11-27 02:55:36

那些%m%n和其余的一样吗?如果不是,那就可以解释它。

哦,对于第二个appender,你在%n之后有%。那看起来也不正确。