如何使用Hibernate带来的JBoss日志?

时间:2012-09-17 09:03:03

标签: java hibernate logging jboss jboss-logging

我正在编写使用Hibernate的独立java应用程序。 Maven为我带来了jboss-logging库。我没有使用JBoss。问题是:我可以仅使用此库登录,还是需要下载log4j之类的日志记录实现?

3 个答案:

答案 0 :(得分:8)

JBoss Logging只是一个日志记录。要配置记录器,例如使用/添加处理程序,你需要一个像JBoss Log Manager这样的日志管理器,J.U.L。日志管理器,logback或log4j。

JBoss Logging将尝试发现正在使用的日志管理器。您可以使用org.jboss.logging.provider系统属性指定要使用的日志管理器。 `org.jboss.logging.provider'的允许值为:

  • jboss - 适用于JBoss Log Manager
  • jdk - 对于J.U.L.日志管理员
  • log4j - 对于log4j日志管理器
  • slf4j - 使用slf4j进行回写

Hibernate使用JBoss Logging来实现它的i18n功能,它是vararg日志记录方法,并且能够不与日志管理器绑定。

当然,您绝对可以在项目中使用JBoss Logging。如果要配置日志记录处理程序,还必须使用日志管理器。

答案 1 :(得分:1)

afaik,jboss-logging在普通的日志记录api之上更像是一个额外的层,提供更复杂的功能,如i18n等。

JBoss-logging可以使用其他日志库(例如SLF4J)作为日志的底层处理程序。

我相信如果您正在编写一个简单的独立Java应用程序,则不需要使用JBoss日志记录(除非您确实知道并且需要这样做)。

使用SLF4J(使用LogBack或Log4J绑定)将是一个不错的选择。访问http://slf4j.org了解详情

答案 2 :(得分:1)

确保您的类路径中有jboss-logging和您的记录器实现,并将系统属性org.jboss.logging.provider设置为log4jjdkslf4j或{{ 1}}取决于你想要什么。理论上,自动检测也可以起作用。

https://github.com/jboss-logging/jboss-logging/blob/master/src/main/java/org/jboss/logging/LoggerProviders.java#L29