JBoss.orgCommunity Documentation
HornetQ uses the JBoss Logging framework to do its logging and is configurable via the logging.properties
file found in the configuration directories. This is configured by Default to log to both the console and to a file.
There are 6 loggers available which are as follows:
Table 42.1. Global Configuration Properties
Logger | Logger Description |
---|---|
org.jboss.logging | Logs any calls not handled by the HornetQ loggers |
org.hornetq.core.server | Logs the core server |
org.hornetq.utils | Logs utility calls |
org.hornetq.journal | Logs Journal calls |
org.hornetq.jms | Logs JMS calls |
org.hornetq.integration.bootstrap | Logs bootstrap calls |
you can configure the levels on these loggers independently in the appropriate logging.properties
file
Firstly, if you want to enable logging on the client side you need to include the jboss logging jars in your library. If you are using the distribution make sure the jnp-client.jar is included or if you are using maven add the following dependencies.
<dependency> <groupId>org.jboss.naming</groupId> <artifactId>jnp-client</artifactId> <version>5.0.5.Final</version> <exclusions> <exclusion> <groupId>org.jboss.logging</groupId> <artifactId>jboss-logging-spi</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.jboss.logmanager</groupId> <artifactId>jboss-logmanager</artifactId> <version>1.3.1.Final</version> </dependency> <dependency> <groupId>org.hornetq</groupId> <artifactId>hornetq-core-client</artifactId> <version>2.3.0.Final</version> </dependency>
The first dependency jnp-client
is not actually needed for logging, however this is needed for
using JNDI and imports a previous version JBoss logging which needs to be excluded
There are 2 properties you need to set when starting your java program, the first is to set the Log Manager to use
the JBoss Log Manager, this is done by setting the -Djava.util.logging.manager
property i.e.
-Djava.util.logging.manager=org.jboss.logmanager.LogManager
The second is to set the location of the logging.properties file to use, this is done via the -Dlogging.configuration
for instance -Dlogging.configuration=file:///home/user/projects/myProject/logging.properties
.
The following is a typical logging.properties for a client
# Root logger option loggers=org.jboss.logging,org.hornetq.core.server,org.hornetq.utils,org.hornetq.journal,org.hornetq.jms,org.hornetq.ra # Root logger level logger.level=INFO # HornetQ logger levels logger.org.hornetq.core.server.level=INFO logger.org.hornetq.utils.level=INFO logger.org.hornetq.jms.level=DEBUG # Root logger handlers logger.handlers=FILE,CONSOLE # Console handler configuration handler.CONSOLE=org.jboss.logmanager.handlers.ConsoleHandler handler.CONSOLE.properties=autoFlush handler.CONSOLE.level=FINE handler.CONSOLE.autoFlush=true handler.CONSOLE.formatter=PATTERN # File handler configuration handler.FILE=org.jboss.logmanager.handlers.FileHandler handler.FILE.level=FINE handler.FILE.properties=autoFlush,fileName handler.FILE.autoFlush=true handler.FILE.fileName=hornetq.log handler.FILE.formatter=PATTERN # Formatter pattern configuration formatter.PATTERN=org.jboss.logmanager.formatters.PatternFormatter formatter.PATTERN.properties=pattern formatter.PATTERN.pattern=%d{HH:mm:ss,SSS} %-5p [%c] %s%E%n