2017-05-02 5 views
0

以下のログメッセージは、私のAPIからjsonエラー応答を出力することを目的としています。payloadAsを使用したMuleプリントBufferInputStream

<logger message="#[exception.getCauseException()?.getMuleMessage()?.getPayload()]" level="INFO" doc:name="Logger"/> 

このログメッセージの結果は、私はJSONレスポンスを通過するための要件を有する[email protected]

あります。どのように私はそれがストリームを渡すだけではなく、印刷BufferInputStream.toString(うこのようなものの中に上記のログ行を有効にすることができます)...

<logger message="#[message.payloadAs(java.lang.String)]" level="INFO" doc:name="Logger"/> 

私はその下に次が動作しませんみました。

<logger message="#[exception.getCauseException()?.getMuleMessage().payloadAs(java.lang.String)]" level="INFO" doc:name="Logger"/> 

ちなみに、ストリームを記録するのはなぜストリームを解析するのかという本来の目的ではありません。私はそれが高価な操作であることを知っています。私は実際にストリームを渡して、応答から意味のある情報を得る必要があります。

おかげ

答えて

1

はい、あなたは正しい、あなたはそれにアクセスするための文字列に出力を変換する必要があるとしています。次に、文字列メソッドを使用して出力を操作して、必要な情報を取得する必要があります。

+0

私はGroovyスクリプトでそれをやっていました。 – Richie

+0

'ObjectToString'トランスフォーマーを試しましたか? –

関連する問題