我已启用"记录例外"在以下捕获异常策略的情况下。我在这里设置有效负载,但仍然在日志中打印原始有效负载。我如何拦截它并将其设置为Flow变量的值。下面是我的catch-exception-strategy和日志消息。我想为任何运行时异常执行此操作。提前感谢您的帮助。
<catch-exception-strategy doc:name="500">
<message-properties-transformer doc:name="Message Properties">
<add-message-property key="http.status" value="500"/>
<add-message-property key="Content-Type" value="application/json"/>
</message-properties-transformer>
<set-payload value="#[flowVars.maskedCCPayloadVar]" mimeType="application/json" doc:name="Set maskedCCPayloadVar"/>
</catch-exception-strategy>
记录消息
org.mule.exception.CatchMessagingExceptionStrategy:
Message : Execution of the expression "payload/test" failed. (org.mule.api.expression.ExpressionRuntimeException).
Payload : {
"Request": {
"CardDetails": {
"CardNumber": "5123456789012346",
"ExpiryDate": "0521"
},
"AccountId": "12345678"
}
}
答案 0 :(得分:0)
使用setpayload组件或dataweave在catch异常策略中设置有效负载。
答案 1 :(得分:0)
日志异常将记录导致调用catch异常策略的异常
如果要在日志中记录其他内容,可以在异常策略块中使用Logger消息处理器,例如<logger message="Error message #[exception.getMessage()] level="ERROR" />
。此外,如果要禁止mule中的默认错误日志,可以禁用&#34; Log Exceptions&#34;关于catch异常策略块。