如何使用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设置为log4jjdkslf4jjboss 。 从理论上讲,自动检测也可行。

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