有人能告诉我如何在骡子记录器组件的消息中插入新行吗?
例如,我在记录器的消息中有以下内容:
Payload is: #[payload]
Inbound Headers: #[headers:INBOUND:*]
Outbound Headers: #[headers:OUTBOUND:*]
Exceptions: #[exception]
我想在上面的每一个之后插入一个新行。我试过在每行的末尾添加\ n,但这不起作用。
答案 0 :(得分:17)
使用MEL:
<logger
message="#['Payload is:'+payload+'\nInbound Headers: '+message.inboundProperties.entrySet()+'\nOutbound Headers: '+message.outboundProperties.entrySet()+'\nExceptions: '+exception]"
level="INFO" />
答案 1 :(得分:5)
你可以这样做:
Payload is: #[payload] #[System.getProperty('line.separator')] Inbound Headers: ...
答案 2 :(得分:2)
使用表达式变换器:
<expression-transformer expression="#[message.payload = message.payload + System.getProperty('line.separator')]" doc:name="Append CRLF"/>
答案 3 :(得分:1)
有几种方法可以做到这一点:
1)使用: #[System.getProperty(&#39; line.separator&#39)]
2)使用: #[&#39; \ n&#39;]例如:#[&#39; Hello \ n&#39; +有效负载+&#39;欢迎来到\ n新行&#39;]
答案 4 :(得分:0)
我们可以为您提供以下格式
#['\n'] #['\n'] #['\n'] #['\n'] #[payload] #[System.getProperty('line.separator')]
答案 5 :(得分:0)
//这应该起作用。在3.9 CE m子中进行了测试
<logger message="Payload is #[message.payloadAs(java.lang.String)] #[System.lineSeparator()] INBOUND HEADERS = #[headers:inbound:*]" level="INFO" doc:name="Logger"/>