在java中你可以使用System.out.println()来打印一个空白行,但它如何在日志文件中使用log4j? 在那里我还想在日志文件中有一个或多个空行。
我已经读过以下内容: log4j how to append blank line
但这并不是很有用,因为
logger.debug("\n");
logger.debug("");
您不打印消息,但其他信息(如时间等)(记录器的布局)仍存储在日志文件中。但我只想要一个完整的空行。 有人可以帮帮我吗?
答案 0 :(得分:8)
Log4j不是为了写空行而设计的。
您无法在记录器中找到此选项,因为记录器独立于写入文件或控制台或不同内容的appender。
我认为您需要创建自定义FileAppender,在编写之前检查Logging Message。如果您的message.equals("\n");
通过自己访问文件而在没有布局的情况下附加空行,并跳过使用布局的正常日志记录。然后你可以使用Logger.debug("\n");
添加空行也是一种不好的做法。它类似于将您的日志消息拆分为多行。您希望每个Logmessage都在一行中,因此可以轻松解析LogViewer-Tools,例如chainsaw或OtrosLogViewer Stacktraces有一个例外。
答案 1 :(得分:2)
使用空布局创建自己的appender以及使用该appender的记录器。然后使用该记录器写下空白行。确保将logger的additivity属性设置为false,以便根记录器不使用其appender的格式来编写消息。