请有人告诉我 log4j和apache.commons.logging之间的关系是什么?哪一个更受欢迎,更好?
我导入了一个已导入import org.apache.commons.logging.LogFactory;
的现有应用程序,并编写了一个名为Log
的单独类,并将某些方法重写为critical
,warn
,{ {1}}
例如
info
有人可以告诉我log4j和apache.commons.logging有什么不同吗?
答案 0 :(得分:14)
Apache Commons Logging是具体实现的抽象。它使用log4j(如果存在并配置)。我会使用Commons登录我的代码和log4j作为日志记录实现。
答案 1 :(得分:2)
log4j是一个日志框架,即它提供了记录消息的代码。 Commons-logging是一个用于记录框架的抽象层,它本身并不记录任何内容。例如,如果我使用commons记录编写代码并将其部署在JBoss上,则日志记录由log4j完成,但如果我在WebSphere上部署它,则由WebSphere自己的日志记录实现完成。如果我运行与独立应用程序相同的代码,那么Java自己使用的日志记录
答案 2 :(得分:0)
根据commons-logging的java-doc文档
LogFactory的具体子类,它实现以下算法以动态选择日志记录实现类来实例化包装器:
因此推论是:
JavaDoc网址:https://commons.apache.org/proper/commons-logging/javadocs/api-1.1.3/index.html