Chapter 41. Logging
By default, HornetQ uses log4j to manage logging events within JBoss Enterprise Application Platform. The default delegate sends all log requests to the standard JDK logging, also known as Java-Util-Logging (JUL).
Note
For detailed information about configuring JUL visit the Java Logging Overview page on the Oracle website.
HornetQ does have its own logging delegate that has no dependencies on any particular logging framework.
By default the server picks up its JUL configuration from a
logging.properties
file found in the config directories. This is configured to use the HornetQ logging formatter (HornetQLoggerFormatter.java
) and will log to the console as well as a log file.
You can configure a different Logging Delegate programmatically or via a System Property.
To do this programmatically, do the following where
Log4jLogDelegateFactory
is the implementation of org.hornetq.spi.core.logging.LogDelegateFactory
that you would like to use:
org.hornetq.core.logging.Logger.setDelegateFactory(new Log4jLogDelegateFactory())
To do this via a System Property, set the property
org.hornetq.logger-delegate-factory-class-name
to the delegate factory being used. For example:
-Dorg.hornetq.logger-delegate-factory-class-name=org.hornetq.integration.logging.Log4jLogDelegateFactory
In the above example, HornetQ provides some Delegate Factories for your convenience. These are:
org.hornetq.core.logging.impl.JULLogDelegateFactory
- the default that uses JUL.org.hornetq.integration.logging.Log4jLogDelegateFactory
- which uses Log4J
To configure the client's logging to use the JUL delegate, ensure that a
logging.properties
file is provided and set the java.util.logging.config.file property on client start up.