Log4J将空行打印到日志文件

Log4J将空行打印到日志文件,log4j,line,logfile,Log4j,Line,Logfile,在java中,可以使用System.out.println()打印一个空行,但它如何与日志文件中的log4j一起工作? 我还希望在日志文件中有一个或多个空行 我已经读过以下内容: 但这并没有真正的帮助,因为 logger.debug("\n"); logger.debug(""); 您不打印消息,但诸如时间等其他信息(记录器的布局)仍存储在日志文件中。但我只想有一个完整的空行。 有人能帮我吗?Log4j不是用来写空行的 在记录器中找不到此选项,因为记录器独立于写入文件或控制台或其他内容的附加

在java中,可以使用System.out.println()打印一个空行,但它如何与日志文件中的log4j一起工作? 我还希望在日志文件中有一个或多个空行

我已经读过以下内容:

但这并没有真正的帮助,因为

logger.debug("\n");
logger.debug("");
您不打印消息,但诸如时间等其他信息(记录器的布局)仍存储在日志文件中。但我只想有一个完整的空行。
有人能帮我吗?

Log4j不是用来写空行的

在记录器中找不到此选项,因为记录器独立于写入文件或控制台或其他内容的附加程序

我认为您需要创建自定义FileAppender,在写入之前检查日志消息。如果您的
message.equals(“\n”)通过自己访问文件来附加没有布局的空行,并跳过布局的正常日志记录。然后可以使用
Logger.debug(“\n”)


此外,添加空行也是一种不好的做法。这类似于将日志消息拆分为几行。您希望将所有日志消息都放在一行中,这样就可以很容易地为LogViewer工具(如Stacktraces)解析日志消息。有一个例外是Stacktraces。

创建自己的带有空布局的附加器和使用该附加器的记录器。然后使用该记录器写入空白行。确保将logger的additivity属性设置为false,以便根logger不会使用其appender的格式写入消息