使用 System.out,您可以:
System.out.print
System.out.println
有时我不想要换行符(比如当我打印“即将提交交易...完成”时)。使用 System.out 我会这样做:
System.out.print("About to commit transaction...");
System.out.println("done.");
我不知道如何在 log4j 中执行此操作。我的 log4j 属性文件有这个:
log4j.rootLogger=DEBUG, CA
log4j.appender.CA=org.apache.log4j.ConsoleAppender
log4j.appender.CA.layout=org.apache.log4j.PatternLayout
log4j.appender.CA.layout.ConversionPattern=%-30c{1} %x %-30M - %m%n
我不想简单地删除“%n”并且必须在每个日志记录语句中指定它。
这在 Log4j 中可能吗?
最佳答案
您可以尝试一些有创意的事情,比如声明三个记录器,每个记录器都有不同的附加程序(和不同的 conversionPattern)。
第一个是您现在拥有的(相当于 System.println)。
第二个将具有模式 %-30c{1} %x %-30M - %m(相当于 System.print)
第三个将具有模式 %m%n(相当于没有日志消息头的 System.println)。
这可能行得通,但是在您的代码中使用三个记录器似乎不值得麻烦...
您可以尝试将此请求作为 log4j2 中的一项功能...
关于java - Log4j - 有时只需要换行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18839098/