我想记录或监控由Mule ESB处理的消息负载。我使用了以下记录器。但它不记录有效载荷。在Mule ESB中监控或记录消息ESB
<logger message="#['Payload is:'+ payload]" level="DEBUG" />
我想记录或监控由Mule ESB处理的消息负载。我使用了以下记录器。但它不记录有效载荷。在Mule ESB中监控或记录消息ESB
<logger message="#['Payload is:'+ payload]" level="DEBUG" />
<logger level="DEBUG" doc:name="Logger" message="Payload is: #[message.payload]"/>
当你看到喜欢的东西:乙@ 19e3bdb你看到的是什么的默认字符串表示反对你的消息有效载荷。
它显然没有实现toString方法,可以根据您的需要设置对象的格式供您阅读。如果您将记录器更改为#[message],您将获得整个mule msg,包括标题信息。其中应该是一个称为有效载荷的道具,它会告诉你有效载荷的类名/类型。
然后,您需要找到一些有关该类的文档或信息,并决定如何以可读的方式为记录器格式化部分。例如,如果您的类型具有字符串的“名称”属性,则可以执行#[message.payload.name]以查看日志输出中的名称。
<logger message="payload is : #[payload]" level="INFO" doc:name="Logger"/>
也可用于
嗨,我用你的解决方案。现在它是这样记录的。有效载荷是:[B @ 19e3bdb。它不会记录消息。我试图登录SOAP消息 – user3049576
请加满你要求或骡子的配置为我们提供更好的答案 –
@ user3049576也许你需要一个字节数组串变压器。 –
试试这个
<logger message="Payload is #[message.payloadAs(java.lang.String)]" level="INFO" />
希望这有助于。
这是最好的方法,因为它会使用有效载荷转换成字符串骡子的自动转化能力,不就叫'的toString()'就可以了。请注意,如果有效载荷是一个输入流,将后左右为佳序列化流,以'字节[]'或'String',然后记录它,并保持与该序列类型处理它消耗。 –
嗨,我也用过你的解决方案。它也是这样记录的。有效载荷是:[B @ 19e3bdb。它不会记录消息。我试图记录SOAP消息 – user3049576
编辑回答解释Object toString行为 – mmeyer