%BOOK_ENTITIES; ]> Logging 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: 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
Logging in a client or with an Embedded server 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 value for this needs to be valid URL 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
Logging With The JBoss Application Server When HornetQ is deployed within the JBoss Application Server version 7.x or above then it will still use JBoss Logging, refer to the AS7 documentation on how to configure AS7 logging.