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

Logging 如何在mule logger组件的消息体中插入换行符,logging,mule,mule-studio,Logging,Mule,Mule Studio,谁能告诉我如何在mule logger组件的消息中插入新行 例如,日志记录器的消息中包含以下内容: Payload is: #[payload] Inbound Headers: #[headers:INBOUND:*] Outbound Headers: #[headers:OUTBOUND:*] Exceptions: #[exception] 我想在上面的每一行后面插入一行。我尝试在每行末尾添加\n,但没有成功。您可以这样做: Payload is: #[payload]

谁能告诉我如何在mule logger组件的消息中插入新行

例如,日志记录器的消息中包含以下内容:

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

我想在上面的每一行后面插入一行。我尝试在每行末尾添加\n,但没有成功。

您可以这样做:

Payload is: #[payload] #[System.getProperty('line.separator')] Inbound Headers: ...
使用MEL:

    <logger
        message="#['Payload is:'+payload+'\nInbound Headers: '+message.inboundProperties.entrySet()+'\nOutbound Headers: '+message.outboundProperties.entrySet()+'\nExceptions: '+exception]"
        level="INFO" />

使用表达式转换器:

<expression-transformer expression="#[message.payload = message.payload + System.getProperty('line.separator')]" doc:name="Append CRLF"/>

有几种方法可以做到这一点:

1) 使用: #[System.getProperty('line.separator')]

2) 使用:
#['\n']例如:#['Hello\n'+payload+'Welcome to\n new line']

我们可以按以下格式向您发送信息

#['\n'] #['\n']  #['\n'] #['\n']  #[payload] #[System.getProperty('line.separator')]

//这应该行得通。在mule 3.9 CE中测试

<logger message="Payload is #[message.payloadAs(java.lang.String)]  #[System.lineSeparator()]  INBOUND HEADERS =  #[headers:inbound:*]" level="INFO" doc:name="Logger"/>


最好还是使用System.getProperty('line.separator'),而不是\n来关闭平台。@Seba听起来不错,但首先我们需要确保MVEL没有将
\n
解释为
System.getProperty('line.separator')