如何使用 Hibernate 带来的 JBoss 日志记录



我正在编写使用Hibernate的独立Java应用程序。Maven为我带来了jboss-logging图书馆。我没有使用 JBoss。问题是:我可以只使用此库进行登录,还是需要下载一些日志记录实现,例如log4j

JBoss 日志记录只是一个日志记录门面。要配置您的记录器,例如使用/添加处理程序,您需要一个日志管理器,如 JBoss 日志管理器、J.U.L.log管理器、logback 或 log4j。

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

  • jboss - 用于 JBoss 日志管理器
  • jdk - 对于 J.U.L.log 经理
  • log4j - 用于 log4j 日志管理器
  • slf4j - 使用 slf4j 进行登录

Hibernate使用JBoss Logging,因为它具有i18n功能,它是vararg日志记录方法以及不绑定到日志管理器的能力。

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

AFAIK,JBoss-logging 更像是在普通日志记录 API 之上的额外一层,以提供更复杂的功能,如 i18n 等。

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

我相信如果你正在编写一个简单的独立Java应用程序,你不需要使用JBoss-logging(除非你知道你真的想要并且需要这样做)。

使用SLF4J(带有LogBack或Log4J绑定)将是一个不错的选择。 有关更多信息,请访问 http://slf4j.org

确保在类路径中具有jboss-logging和记录器实现,并根据所需的内容将系统属性org.jboss.logging.provider设置为 log4jjdkslf4jjboss。理论上,自动检测也可能有效。

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

最新更新