如何在mule logger组件的消息体中插入换行符

时间:2013-03-06 17:44:20

标签: logging mule mule-studio

有人能告诉我如何在骡子记录器组件的消息中插入新行吗?

例如,我在记录器的消息中有以下内容:

Payload is: #[payload] 
Inbound Headers:  #[headers:INBOUND:*] 
Outbound Headers:  #[headers:OUTBOUND:*]  
Exceptions:  #[exception]

我想在上面的每一个之后插入一个新行。我试过在每行的末尾添加\ n,但这不起作用。

6 个答案:

答案 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"/>