Java log4j2中的空Threadcontext大括号场景处理
我正在尝试迁移到log4j2。 在RollingFile Appender中,我添加了以下内容:Java log4j2中的空Threadcontext大括号场景处理,java,stack,log4j2,threadcontext,Java,Stack,Log4j2,Threadcontext,我正在尝试迁移到log4j2。 在RollingFile Appender中,我添加了以下内容: <PatternLayout> <pattern>[%d{MM/dd/yy HH:mm:ss:SSS z}] %-18.18t %-35.35c{1} %-5p (%F:%L) %m \t %x %n</pattern> </PatternLayout> [01/10/17 12:17:37:116 IST]主要示例2警告(Example2.
<PatternLayout>
<pattern>[%d{MM/dd/yy HH:mm:ss:SSS z}] %-18.18t %-35.35c{1} %-5p (%F:%L) %m \t %x %n</pattern>
</PatternLayout>
[01/10/17 12:17:37:116 IST]主要示例2警告(Example2.java:52)10是数字[]
那么如何处理这个空堆栈场景呢?您可以使用的notEmpty{pattern}
模式转换器:
当且仅当模式中的所有变量均不为空时,才会输出模式评估结果
例如:
%notEmpty{[%x]}
别名:variablesnofenty{pattern},
VARSNOTENTY{pattern},
notEmpty{pattern}我希望记录器不带大括号,如下所示<代码>[01/10/17 12:17:37:116 IST]主要示例2警告(Example2.java:52)10是数字这将不起作用。它将
%notEmpty{[%x]}
作为%n并将记录器带到下一行。您使用的是什么版本?这个功能是最近才出现的。您是否尝试过varsnotery
?版本2.7?或者更老的版本?现在输出记录器是[01/11/17 12:22:59:693 IST]主要示例2调试(Example2.java:56)10是数字otEmpty
无法迁移到v2.7,因为无法超越java 6。因此,我使用log4jv2.3
%notEmpty{[%x]}