logback的替换功能不支持模式中的大于或小于符号(<>)

时间:2013-01-14 20:19:33

标签: replace logback

我们希望使用logback http://logback.qos.ch/manual/layouts.html#replace的替换功能。它适用于文档中描述的示例。但是,如果有>它不起作用。或者<签到这个模式。例如,类似于以下内容

<pattern>%replace(%m){"pswd='.*'", "pswd='<xxx'"}%n</pattern>

生成以下异常

  

XML_PARSING - 解析第14行和第298行的致命错误   org.xml.sax.SAXParseException; lineNumber:14; columnNumber:298;   元素类型“xxx”必须后跟任一属性   规格,“&gt;”或“/&gt;”。在org.xml.sax.SAXParseException:   元素类型“xxx”必须后跟任一属性   规格,“&gt;”或“/&gt;”。

我们需要能够拥有&lt;或者&gt;在模式中,因为我们的数据将是

形式
<password>1234</password>

我们希望能够将其替换为<password>xxx</password>

我们也试过逃避&lt; (即\&lt;)具有相同的结果。我们缺少什么或这是一个已知问题?有什么工作吗?

1 个答案:

答案 0 :(得分:2)

您应该能够执行以下操作:

<pattern>%replace(%m){"pswd='.*'", "pswd='&lt;xxx'"}%n</pattern>