Contact Free trial Login

Configuring Logging

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.

For logging, Mule ESB uses slf4j, which is a logging facade that discovers and uses a logging strategy from the classpath, such as Log4J or the JDK Logger. By default, Mule includes Log4J, which is configured with a file called

The Mule server has a in its conf directory, which you can customize when running the server in standalone mode. Additionally, all the examples included with Mule have files in their conf directories.

Troubleshooting Logging

I don’t see any logging output

A file must be at the root of your classpath. If you don’t have a file, you can get a simple one here. For more information about configuring Log4J, see their website.

I reconfigured Log4J, but nothing happened

This happens because there is another file on your classpath that is getting picked up before your modified one. To find out which configuration file Log4J is using, add the following switch when starting Mule (or container startup script if you are embedding Mule):


This parameter will write the Log4J startup information, including the location of the configuration file being used, to stdout. You must remove that configuration file before your modified configuration will work.

Controlling Logging from JMX

You can expose a manager’s logging configuration over JMX by configuring a Log4J Jmx agent in your Mule configuration file. See JMX Management for more information.

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub