Java 基于Spring库的日志记录方法

Java 基于Spring库的日志记录方法,java,spring,maven,logging,jar,Java,Spring,Maven,Logging,Jar,我使用Java&Maven创建了一个库,其中包含一些常见的Spring功能,以便在各种基于Spring的项目中重用 库显然需要记录错误/信息消息。Spring允许开发人员使用他们喜欢的任何日志库,我如何使我的库也这样做?Spring使用commons日志记录,这是一种日志外观,允许您在不知道实际日志框架的情况下编写日志代码 根据您配置的内容,commons日志记录随后将把日志记录消息传送到实际实现。这允许您使用commons-logging编写代码,用户可以使用commons-logging支持

我使用
Java
&
Maven
创建了一个库,其中包含一些常见的
Spring
功能,以便在各种基于Spring的项目中重用


库显然需要记录
错误/信息
消息。Spring允许开发人员使用他们喜欢的任何日志库,我如何使我的库也这样做?

Spring使用
commons日志记录
,这是一种日志外观,允许您在不知道实际日志框架的情况下编写日志代码

根据您配置的内容,
commons日志记录
随后将把日志记录消息传送到实际实现。这允许您使用
commons-logging
编写代码,用户可以使用
commons-logging
支持的任何日志框架

就我个人而言,我会选择
slf4j
(简单日志facade4java),它类似于
commons日志
,但更新了,功能也差不多

还可以连接不同的库或外观,这样即使库使用不同的日志框架,它们也将始终位于您选择的日志记录器中。查看我右边的监视器,有如下桥接库:
jcl-over-slf4j
(commons登录到slf4j)、
log4j-over-slf4j
jul-to-slf4j
(java.util.logging到slf4j)


注意:有关slf4j=good、JCL=bad;)的详细信息,请参见注释中的链接

SLF4J和commons日志在afaik中的工作方式非常不同,尽管它们的意图相似。无论如何,只需补充说明,通过使用SLF4j和适当的桥接库,来自commons日志记录(例如,来自Spring)的日志可以重定向到SLF4j,因此允许您集中并使用commons日志记录不支持的SLF4j后端。(无论如何,这不应该是由OP编写的库控制的东西)我对
commons日志记录的内部工作原理没有多少线索,但如果它们不同,我也不会感到惊讶。我将添加一些关于桥接库的信息。如果您感兴趣:)啊,谢谢,有一个有效的理由来避免使用特定的框架总是很好的:)