我需要登录log4j2,如下所示:
14:28:00.404 app_name =“splunk sample app”method_name = main desc =“sample log”
<PatternLayout pattern="%d app_name=\"%X{app_name}\" method_name=%M(%L) %m %n"/>
由于双引号,模式失败。 double quate的转义字符是什么,因此键值对的值在日志中的双引号内。
ThreadContext.put("app_name", "splunk sample app");
答案 0 :(得分:9)
在您的模式中,只需将\"
替换为"
("
字符的XML实体):
<PatternLayout pattern="%d app_name="%X{app_name}" method_name=%M(%L) %m %n"/>
然后会记录您想要的内容:
14:28:00.404 app_name="splunk sample app" method_name=main desc="sample log"
答案 1 :(得分:0)
现在正在添加对其他特殊字符(如\ t)的支持(https://issues.apache.org/jira/browse/LOG4J2-682)。
这没有进入Log4j-2.0-rc2,如果你想在2.0版本发布之前需要在trunk中构建它来使用它。