在 catchexceptionstrategy 中覆盖日志中的有效负载
Overwrite payload in the logs inside catchexceptionstrategy
我已启用 "Log Exceptions" 以防出现以下捕获异常策略。我在这里设置有效载荷,但仍在日志中打印原始有效载荷。我如何拦截它并将其设置为 Flow 变量的值。下面是我的捕获异常策略和日志消息。我想对任何运行时异常执行此操作。在此先感谢您的帮助。
<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"
}
}
使用 setpayload 组件或 dataweave 在您的捕获异常策略中设置有效载荷。
Log exception 将记录导致调用 catch exception 策略的异常
如果您想在日志中记录其他内容,您可以使用异常策略块中的 Logger 消息处理器,例如 <logger message="Error message #[exception.getMessage()] level="ERROR" />
。此外,如果你想抑制 mule 中的默认错误日志,你可以禁用 catch 异常策略块上的 "Log Exceptions"。
我已启用 "Log Exceptions" 以防出现以下捕获异常策略。我在这里设置有效载荷,但仍在日志中打印原始有效载荷。我如何拦截它并将其设置为 Flow 变量的值。下面是我的捕获异常策略和日志消息。我想对任何运行时异常执行此操作。在此先感谢您的帮助。
<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"
}
}
使用 setpayload 组件或 dataweave 在您的捕获异常策略中设置有效载荷。
Log exception 将记录导致调用 catch exception 策略的异常
如果您想在日志中记录其他内容,您可以使用异常策略块中的 Logger 消息处理器,例如 <logger message="Error message #[exception.getMessage()] level="ERROR" />
。此外,如果你想抑制 mule 中的默认错误日志,你可以禁用 catch 异常策略块上的 "Log Exceptions"。