Как вставить новую строку в тело сообщения компонента логгера мулов

Может ли кто-нибудь сказать мне, как вставить новую строку в сообщение компонента логгера мула?

Например, у меня в сообщении для логгера следующее:

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

Я хотел бы вставить новую строку после каждого из вышеперечисленных. Я пробовал просто добавлять \n в конец каждой строки, но это не сработало.


person GarySharpe    schedule 06.03.2013    source источник


Ответы (6)


Используйте МЭЛ:

    <logger
        message="#['Payload is:'+payload+'\nInbound Headers: '+message.inboundProperties.entrySet()+'\nOutbound Headers: '+message.outboundProperties.entrySet()+'\nExceptions: '+exception]"
        level="INFO" />
person David Dossot    schedule 06.03.2013
comment
Все же было бы лучше использовать System.getProperty('line.separator') вместо \n, чтобы сделать его кроссплатформенным. - person Seba; 06.03.2013
comment
@Seba Звучит хорошо, но сначала нам нужно убедиться, что \n еще не интерпретируется MVEL как System.getProperty('line.separator'). - person David Dossot; 06.03.2013

Вы можете сделать что-то вроде этого:

Payload is: #[payload] #[System.getProperty('line.separator')] Inbound Headers: ...
person Seba    schedule 06.03.2013

используйте выражение-трансформер:

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

Есть несколько способов сделать это:

1) Используйте: #[System.getProperty('line.separator')]

2) Используйте: #['\n'] например: #['Hello\n'+payload+'Добро пожаловать в \n новую строку']

person Ujjawal Kant    schedule 14.09.2016

мы можем вам формат ниже

#['\n'] #['\n']  #['\n'] #['\n']  #[payload] #[System.getProperty('line.separator')]
person Lova Chittumuri    schedule 04.09.2018
comment
#['\n'] лучший и самый простой вариант из всех - спасибо! - person ng10; 05.07.2021

// Это должно работать. протестировано на муле 3.9 CE

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