1

我们想使用 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 上的致命错误;行号:14;列号:298;元素类型“xxx”必须后跟属性规范“>”或“/>”。在 org.xml.sax.SAXParseException:元素类型“xxx”必须后跟属性规范“>”或“/>”。

我们需要能够在模式中包含 < 或 > 因为我们的数据将采用以下形式

<password>1234</password>

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

我们还尝试以相同的结果转义 <(即 \<)。我们是否缺少某些东西,或者这是一个已知问题?有什么解决办法吗?

4

1 回答 1

2

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

<pattern>%replace(%m){"pswd='.*'", "pswd='&lt;xxx'"}%n</pattern>
于 2013-01-16T14:33:00.500 回答