谁能告诉我如何在 mule logger 组件的消息中插入新行?
例如,我在记录器的消息中有以下内容:
Payload is: #[payload]
Inbound Headers: #[headers:INBOUND:*]
Outbound Headers: #[headers:OUTBOUND:*]
Exceptions: #[exception]
我想在上述每一行之后插入一个新行。我试过只在每行的末尾添加 \n ,但这没有用。
谁能告诉我如何在 mule logger 组件的消息中插入新行?
例如,我在记录器的消息中有以下内容:
Payload is: #[payload]
Inbound Headers: #[headers:INBOUND:*]
Outbound Headers: #[headers:OUTBOUND:*]
Exceptions: #[exception]
我想在上述每一行之后插入一个新行。我试过只在每行的末尾添加 \n ,但这没有用。
使用 MEL:
<logger
message="#['Payload is:'+payload+'\nInbound Headers: '+message.inboundProperties.entrySet()+'\nOutbound Headers: '+message.outboundProperties.entrySet()+'\nExceptions: '+exception]"
level="INFO" />
你可以这样做:
Payload is: #[payload] #[System.getProperty('line.separator')] Inbound Headers: ...
使用表达式转换器:
<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"/>
在文字模式下试试这个。#["\n"] #[ 有效载荷]