Mule使用payloadAs

时间:2017-05-02 07:02:09

标签: mule

下面的日志消息旨在从我的api打印出json错误响应。

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

此日志消息的结果是

  

org.glassfish.grizzly.utils.BufferInputStream@486bf09a

我要求传递json响应。我怎样才能将上面的日志行变成这样的东西,它将传递流而不仅仅是打印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 :(得分:1)

是的,你是对的,你将不得不将输出转换为字符串来访问它。然后,您将不得不使用字符串方法操作输出以获取所需的信息。