2014-04-24 88 views
1

执行测试用例后,所有日志步骤将被写入文件。如下所示。在本地计算机Log4j在localhost上正常工作,但在jenkins中,所有日志语句都打印在同一行上

  • 日志文件中创建执行之后:

[INFO] [2014年4月16日16:49:02945] - 从数据源文件中读取数据属性

[ INFO] [2014年4月16日16:49:02945] - DataSource.properties文件路径

  • 日志文件中创建08:27135从数据源文件中读取数据的属性[INFO] [2014年4月21日08 - 在JENKINS

[INFO] [::08 27134 2014年4月21日08]执行测试的情况下后] - DataSource.properties文件路径

在Jenkins中,在完成第一条日志语句后,第二条语句将被添加到它。但我的要求是第一行第一行,第二行第二行。那么如何指定Log4j中的下一行字符?

回答

1

在Log4j(v1或v2)中,您可以在PatternLayout中使用%n来插入新的行字符。 你可以阅读更多关于Log4j的模式在这里:

这里有Log4j的配置实例:

  • Log4j的V1:log4j.appender.FileAppender.layout.ConversionPattern=%-5p [%t] %m%n
  • Log4j v2:<PatternLayout pattern="%-5p [%t] %m%n"/>
+0

其实我给了pattern =“[% - 5p] [%9d] - %m%n”就像这样。它在本地(windows os)机器上工作正常,但是当我在linux中运行相同的模式代码机器上的所有日志都在同一行创建 – user3568504

+0

您是否曾尝试在Linux上的'vim' /'vi'中打开您的日志文件?如果您在Windows上打开日志文件,但是该文件是由Linux编写的,则使用'\ n',Windows需要'\ r \ n'来插入新行。为了简短起见,也许新的一行是在这里,但你不能在Windows上看到它 – xav

+0

感谢您的回复。一切Linux机器是在不同的位置,通过jenkins我们exectiong代码。并创建日志文件作为zip文件并通过email发送。请给我解决问题的方法。 – user3568504

相关问题