我想记录或监控Mule ESB处理的消息有效负载。我使用了以下记录器。但它没有记录有效载荷。
<logger message="#['Payload is:'+ payload]" level="DEBUG" />
答案 0 :(得分:5)
试试这个
<logger message="Payload is #[message.payloadAs(java.lang.String)]" level="INFO" />
希望这有帮助。
答案 1 :(得分:0)
<logger level="DEBUG" doc:name="Logger" message="Payload is: #[message.payload]"/>
当你看到类似的东西时:B @ 19e3bdb你看到的是你的消息有效载荷是什么对象的默认字符串表示。
它显然没有实现一个toString方法,它格式化对象以供您按预期阅读。如果您将记录器更改为#[message],您将获得整个mule消息,包括标题信息。其中应该是一个称为有效载荷的道具,它会告诉你有效载荷的类名/类型。
然后,您需要找到有关该类的一些文档或信息,并决定如何以可读的方式为记录器设置部分格式。例如,如果您的类型具有String的“name”属性,则可以执行#[message.payload.name]以查看日志输出中的名称。
答案 2 :(得分:0)
<logger message="payload is : #[payload]" level="INFO" doc:name="Logger"/>
也可以使用