如何使用Hibernate带来的JBoss日志记录?
我正在编写使用Hibernate的独立java应用程序。 Maven为我带来了jboss-logging
库。 我没有使用JBoss。 问题是:我可以只使用这个库登录,还是需要下载一些日志实现,如log4j
?
JBoss Logging只是一个日志记录。 要配置记录器,例如使用/添加处理程序,您需要一个日志管理器,如JBoss Log Manager,JUL日志管理器,logback或log4j。
JBoss Logging将尝试发现正在使用的日志管理器。 您可以使用org.jboss.logging.provider
系统属性指定要使用的日志管理器。 `org.jboss.logging.provider’的允许值为:
- jboss – 适用于JBoss Log Manager
- jdk – 对于JUL日志管理器
- log4j – 对于log4j日志管理器
- slf4j – 用于使用slf4j进行logback
Hibernate使用JBoss Logging来实现它的i18nfunction,它是vararg日志记录方法以及不与日志管理器绑定的能力。
当然,您绝对可以在项目中使用JBoss Logging。 如果要配置日志记录处理程序,还必须使用日志管理器。
afaik,jboss-logging在普通的日志记录api之上是一个额外的层,提供更复杂的function,如i18n等。
JBoss日志记录可以使用其他日志库(例如SLF4J)作为日志的底层处理程序。
我相信如果你正在编写一个简单的独立Java应用程序,你不需要使用JBoss-logging(除非你知道你真的想要并且需要这样做)。
使用SLF4J(使用LogBack或Log4J绑定)将是一个不错的选择。 有关更多信息,请访问http://slf4j.org
确保在类路径中有jboss-logging
和logger实现,并根据你的需要将系统属性org.jboss.logging.provider
设置为log4j
, jdk
, slf4j
或jboss
。 从理论上讲,自动检测也可行。