java多个正则表达式替换log4j2 xml模式标记
大家好,我正在通过一个xml文件配置log4j2。我已经设置了一个appender,它的日志记录正常。我在配置两个正则表达式以替换日志中%message变量中的文本时遇到问题
我在java代码中记录消息,如下所示:
logger.info("{ 'name':'person', age:'42' }");
我将这些日志发送到卡夫卡,并希望用“”替换所有{or},用“”替换所有{or}
我当前使用的模式如下所示:
<pattern>{ "logTimestamp":"%date{ISO8601}", %replace{%replace{%message{nolookups}}{\\"|\\'|"}{'}}{{|}}{},"host":"${hostname}" }</pattern>
但是,这不起作用,由于更换,我收到了以下解析消息:
{ "logTimestamp":"2017-03-27T11:11:17,247", %replace}{"}{'},"host":"hostname" }
用log4j2%replace匹配和替换两个模式的正确方法是什么
# 1 楼答案
试试这个:
结果是:
我希望有帮助