You are viewing an older version of this topic. To go to a different version, use the version menu at the upper-right. +

Configuring Mule Stacktraces

By default Mule filters out some internal class references from stacktraces to produce a more readable output. This behavior can be controlled one of three ways:

  • Command-line arguments

  • Setting properties in Mule Studio

  • Using JMX

Command-Line Arguments

Two command-line properties let you control this behavior using -M-DpropertyName:

  • mule.stacktrace.full - When present, Mule does not filter stacktraces. Intended for Mule developers only, end users probably never need to enable this. (You can also use the property mule.verbose.exceptions=true, with the same result.)

  • mule.stacktrace.filter - A comma-separated list of packages and/or classes to remove from the stacktraces, which are matched via string.startsWith().

Setting Properties in Anypoint Studio

In Studio, you can set the same properties specified above to instruct Mule to provide either unfiltered stacktraces or to configure a particular filter of packages or classes to remove. To adjust these settings, open your mule-project.xml file and define environment variables to specify the behavior you want. In the example below, the mule.stacktrace.full property is set to true.


Using JMX

The Configuration MBean now exposes two new options:

  • FullStackTrace - Same as above

  • StackTraceFilter - Same as above

These settings are shared between apps even though each app has its own configuration MBean. That means that modifying it in one app affects others.