Sri*_*bat 5 java logging log4j newline log4j2
通过 System.out,您可以:
System.out.print
System.out.println
Run Code Online (Sandbox Code Playgroud)
有时我不需要换行符(例如当我打印“关于提交事务...完成”时)。使用 System.out 我会这样做:
System.out.print("About to commit transaction...");
System.out.println("done.");
Run Code Online (Sandbox Code Playgroud)
我不知道如何在 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
Run Code Online (Sandbox Code Playgroud)
我不想简单地删除“%n”并且必须在每个日志记录语句中指定它。
这在 Log4j 中可能吗?
您可以尝试一些创造性的做法,例如声明三个记录器,每个记录器都有不同的附加程序(和不同的转换模式)。
第一个是您现在拥有的(相当于 System.println)。
第二个将具有模式 %-30c{1} %x %-30M - %m (相当于 System.print)
第三个将具有模式 %m%n (相当于没有日志消息头的 System.println)。
这可能有效,但是在代码中使用三个记录器似乎不值得这么麻烦......
您可以尝试将其作为 log4j2 中的一项功能来请求...