2013-03-06 12 views
7

Czy ktoś może mi powiedzieć, jak wstawić nową linię do wiadomości komponentu rejestratora mułów?W jaki sposób wstawić znak nowej linii w treści wiadomości komponentu rejestratora mułów:

Na przykład, mam następujący w wiadomości dla rejestratora:

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

chciałbym wstawić nowy wiersz po każdym z powyższych. Próbowałem po prostu dodawać \ n na końcu każdej linii, ale to nie zadziałało.

Odpowiedz

14

użycie MEL:

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

Byłoby jeszcze lepiej użyć System.getProperty ("line.separator") zamiast \ n, aby uczynić go platformą closs. – Seba

+0

@Seba Brzmi nieźle, ale najpierw musimy upewnić się, że '\ n' nie jest już interpretowane przez MVEL jako' System.getProperty ('line.separator') '. –

5

Można zrobić coś takiego:

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

stosowanie wyrażenie-transformator:

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

Istnieje kilka sposobów, aby to zrobić:

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

2) Zastosowanie: # [ '\ n] Na przykład: # [ "Cześć \ n + dane + powitanie \ n nową linię']

Powiązane problemy