2017-07-14 8 views
0

以下のcatch-exception-strategyの場合に「ログ例外」を有効にしました。ここでペイロードを設定していますが、ログには元のペイロードが印刷されています。どのように私はそれを傍受し、フロー変数から値に設定することができます。以下は私のcatch-exception-strategyとログメッセージです。私は任意の実行時例外のためにこれをしたい。助けを前にありがとう。catchexceptionstrategy内のログにペイロードを上書きする

<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": "5123456789", 
     "ExpiryDate": "0521" 
    }, 
    "AccountId": "12345678" 
    } 
} 

答えて

0

ログの例外は、あなたがあなたの例外戦略ブロック内から例<logger message="Error message #[exception.getMessage()] level="ERROR" />のためのロガーメッセージプロセッサを使用することができますログに何かをログに記録したい場合は、キャッチ例外戦略が

を呼び出すことが原因となった例外をログに記録します。さらに、ラップでデフォルトのエラーログを抑制したい場合は、catch例外ストラテジブロックの "ログ例外"を無効にすることができます。

0

使用setpayloadコンポーネントまたはdataweaveは、あなたのキャッチ例外戦略の中にペイロードを設定します。

関連する問題