日志(Logging)
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属性。
与JBoss应用服务器日志的关系
当HornetQ部署到JBoss应用服务器版本5.x或以上时,虽然HornetQ仍然使用JUL,但是所有的日志输出被重定向到
JBoss logger。请参阅相关的JBoss文档来了解更多的信息。如果是以前版本的JBoss,则必需指定你所需要的日志代理。