在控制台中访问错误详细信息

Accessing Error Detail in Console

使用 Mule 4.1

当在流程中遇到错误时,控制台中会记录如下内容。

********************************************************************************
Message : Cannot parse input XML because it is invalid.
Error type : XML-MODULE:INVALID_INPUT_XML
Element : LogError/processors/0/processors/0 @ systemadapter:systemadapter.xml:29 (Validate schema)
Element XML : (set debug level logging or '-Dmule.verbose.exceptions=true' for everything) ********************************************************************************

我知道如何访问消息和错误类型。如何获取元素或元素 XML?我使用下面的数据编织来获取错误信息。但是,我似乎找不到任何可以告诉 Element 的东西。我的总体目标是找出流程中的哪个组件产生了错误。

%dw 2.0
output application/json
---
{
    "message" : error.exception.message,
    "detailMessage" : error.exception.detailMessage,
    "identifier" : error.errorType.identifier,
    "namespace" : error.errorType.namespace,
    "detailedDescription" : error.detailedDescription,
    "causeMessage" : error.exception.cause.message,
    "causeDetailMessage" : error.exception.cause.detailMessage,
    "backtrace" : error.exception.cause.backtrace

}

在 MuleSoft 支持团队的一些帮助下,我能够使用 #[message.message.exceptionPayload.info] 这个 returns 控制台中显示的一组对象来访问详细信息。因此,我的 Dataweve 需要如下所示。我仅在 Mule 4.1.2 和 4.1.3 中对此进行了验证。

%dw 2.0 output application/json
--- {
    "message" : error.exception.message,
    "detailMessage" : error.exception.detailMessage,
    "element" : message.message.exceptionPayload.info['Element'],
    "elementXML" : message.message.exceptionPayload.info['Element XML']
}