SpEL:logging-channel-adapter 表达式抛出转义字符异常\n

SpEL: logging-channel-adapter expression throwing exception for escape character \n

我想通过从 headers 中删除大括号在新行上在控制台上打印 header 和有效负载,得到以下配置的错误:

    <logging-channel-adapter id="logger" channel="auditChannel" level="INFO" expression="'Headers: '+ \n headers.replaceFirst('{','').replaceFirst('}','') +'Payload:'+ \n payload"/>

例如-

    Headers:
    timestamp=1429088482916, id=640b5c94-ea8d-4d9d-8a50-7dc8f201be47..
    Payload:
    Actual message

通常,如果我通过日志记录通道适配器打印 header,它会给出如下输出:

{timestamp=1429088482916, id=640b5c94-ea8d-4d9d-8a50-7dc8f201be47...}

我需要如上示例中的输出。

问题是 XML DOM 解析器将 '\n' 转换为 "\n"

请参阅 了解解决方法。