在Matlab中将log4j ConsoleAppender与%n一起使用会导致空白的日志行

时间:2018-08-23 13:57:36

标签: matlab log4j line-breaks

我正在使用Matlab中的log4j(不是log4j2)。我的附加器之一是CnosoleAppender。日志消息显示在Matlab控制台中,但是,每个日志语句后都有一行新内容。

我为log4附加程序配置了:

log4j.appender.matlabConsole=org.apache.log4j.ConsoleAppender
log4j.appender.matlabConsole.immediateFlush=true
log4j.appender.matlabConsole.encoding=UTF-8
log4j.appender.matlabConsole.layout=org.apache.log4j.PatternLayout
log4j.appender.matlabConsole.layout.ConversionPattern=[%d] %l %p %m%n
log4j.appender.matlabConsole.Threshold = TRACE

我尝试从模式中删除%n,但是在所有log语句和所有连续语句都收集到一行之后,没有换行符。

文档中有关%n

的内容
  

此转换字符提供的性能几乎与使用不可移植的行分隔符字符串(例如“ \ n”或“ \ r \ n”)相同。因此,这是指定行分隔符的首选方式。

我在Windows上工作,如果我写\n,则换行符消失。但是我希望日志文件配置在Linux和Windows上都能正常工作。有什么办法可以做到这一点?问题甚至是由Matlab-Java设置引起的还是由系统或log4j配置问题引起的?

编辑: 该问题似乎是由ConsoleAppender / Matlab-Java控制台引起的,因为我还使用了具有%n模式的FileAppender,并且它不包含空行。

0 个答案:

没有答案