HornetQ有自己的独立的日志系统,不依赖于任何其它的日志框架。在默认情况下所有HornetQ的日志将输入到 标准的JDK日志系统, (即JUL-Java Util Logging)。服务器在默认条件下读取config目录下的 logging.properties文件做为JUL的配置文件。它配置了使用HornetQ自己的格式化 方法,将日志输出到屏幕终端(Console)及文件中。请访问Sun公司的相关网址来进一步了解如何配置使用JUL。
你可以通过编程或定义系统变量的方法来配置不同的日志代理(Logging Delegate)。
采用编程方法,只需要调用方法:
org.hornetq.core.logging.Logger.setDelegateFactory(new Log4jLogDelegateFactory())
其中Log4jLogDelegateFactory实现了org.hornetq.spi.core.logging.LogDelegateFactory 接口。
如果要使用系统变量方法,则需要设置变量org.hornetq.logger-delegate-factory-class-name为相应的代理工厂,即
-Dorg.hornetq.logger-delegate-factory-class-name=org.hornetq.integration.logging.Log4jLogDelegateFactory
上面的例子可以看出HornetQ提供了一些代理工厂以方便用户使用,它们是:
org.hornetq.core.logging.impl.JULLogDelegateFactory - 默认的JUL日志代理工厂。
org.hornetq.integration.logging.Log4jLogDelegateFactory - Log4J的日志代理工厂。
如果在客户端使用JUL代理,注意要提供logging.properties文件,并且在客户端启动之前设置java.util.logging.config.file属性。