Contact Free trial Login

Configuring Mule Stacktraces

Mule Runtime Engine versions 3.5, 3.6, and 3.7 reached End of Life on or before January 25, 2020. For more information, contact your Customer Success Manager to determine how you can migrate to the latest Mule version.

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:

  1. Under the Package Explorer view open your mule-project.xml file.

  1. 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.

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub