java - Log4j - 有时只需要换行

标签 java logging log4j newline log4j2

使用 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/

相关文章:

java - 如何将 XSD 类型导入根模式?

java - Solr 触发器优化并检查 Java 代码的进度

java - 访问 Tomcat 中的详细日志

从属性文件读取时出现 java.util.ConcurrentModificationException

java - 不要传递 <f :param in jsf 的值

java - JAXB 序列化 POJO 中的 JsonElement 字段

postgresql - 用于分析 PostgreSQL 日志文件的 Windows 工具

go - 日志repo的抽象实现

java - 如何在 Spring-Boot 中配置日志记录框架?

java - 如何修复log4j中的 “NoSuchMethodError”错误