[英]PatternLayout double quote escape character in log4j2
我需要登录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");
在您的模式中,只需将两个\\"
替换为"
( "
字符"
的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"
现在正在添加对其他特殊字符(如\\ t)的支持( https://issues.apache.org/jira/browse/LOG4J2-682 )。
这没有进入Log4j-2.0-rc2,如果你想在2.0之前发布它,你需要从trunk构建才能使用它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.