我正在编写使用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
设置为 log4j
、jdk
、slf4j
或 jboss
。理论上,自动检测也可能有效。
https://github.com/jboss-logging/jboss-logging/blob/master/src/main/java/org/jboss/logging/LoggerProviders.java#L29