2013-03-06 12 views
7

Qualcuno può dirmi come inserire una nuova riga nel messaggio di un componente del mule logger?Come si inserisce una nuova riga nel corpo del messaggio del componente del mule logger

Per esempio, ho il seguente nel messaggio per il logger:

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

vorrei inserire una nuova riga dopo ogni di quanto sopra. Ho provato ad aggiungere \ n alla fine di ogni riga, ma non ha funzionato.

risposta

14

Uso MEL:

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

Sarebbe comunque preferibile utilizzare System.getProperty ('line.separator') anziché \ n per renderlo closs-platform. – Seba

+0

@Seba Sembra buono, ma prima dovremmo assicurarci che '\ n' non sia già interpretato da MVEL come' System.getProperty ('line.separator') '. –

5

Si potrebbe fare qualcosa di simile:

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

uso dell'espressione-trasformatore:

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

Ci sono un paio di modi per farlo:

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

2) Uso: # [ '\ n'] ad esempio: # [ 'Ciao \ n' + payload + 'Benvenuti a \ n nuova linea']

Problemi correlati