Apache Commons Logging不是logger,而是立足于制定一个统一接口来管理各类不同的logger的logFactory,有些项目里加入log4j的同时加入了Apache Commons Logging可能是为了将来可能变更日志系统而考虑的。
所以加入Apache Commons Logging后,显著地有两个变化:
1.多一个配置文件commons-logging.properties用来决定使用什么logging toolkit
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger
2.取得log的方式改成使用logFactory来取
public class CLASS
{
private Log log = LogFactory.getLog(CLASS.class);
...
}
所以如果后期觉得log4j不适用了,要换成别的log工具,只要在commons-logging.properties里改下,然后把新的log工具jar包和配置引入就可以自然过渡过去了
然后Apache Commons Logging可以帮助简化log4j的使用,如果单纯使用log4j要有一个麻烦的初始化如下:
public class Log4jInit extends HttpServlet {
public
void init() {
String prefix = getServletContext().getRealPath("/");
String file = getInitParameter("log4j-init-file");
// if the log4j-init-file is not set, then no point in trying
if(file != null) {
PropertyConfigurator.configure(prefix+file);
}
}
public
void doGet(HttpServletRequest req, HttpServletResponse res) {
}
}
而Apache Commons Logging会自动去读取对应的配置文件
然后spring也有一个对log4j的额外功能,每隔预定时间,自动更新读取log4j的配置文件,在web.xml里配置
<context-param>
<param-name>log4fRefreshInterval</param-name>
<param-value>60000</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
这样就能动态更改log输出级别而不重启服务器了
分享到:
相关推荐
1. **引入依赖**:在项目中添加Apache Commons Logging和Log4j的库。如果是Maven项目,可以在pom.xml文件中添加相应的依赖项;如果是非Maven项目,需要将jar文件添加到类路径中。 2. **配置Log4j**:创建一个`log4j...
Apache Log4j 2.3 和 Commons Logging 1.2 是两个在Java Web开发中广泛使用的日志处理库。这两个库对于记录应用程序的运行时信息、调试错误和监控系统状态至关重要。 **Apache Log4j 2.3** Log4j 是 Apache 组织...
Apache Commons Logging和Log4j是两个广泛使用的日志框架,本指南将深入讲解如何将它们结合使用,为你的Java应用程序提供强大的日志功能。 首先,让我们了解Apache Commons Logging。它是Apache软件基金会的一个...
标题中的“commons-logging”和“Log4j”是两个在Java编程中广泛使用的日志处理框架。它们在日志管理领域中各自扮演着不同的角色,而它们之间的关系则涉及到日志实现的抽象与具体实现的层次问题。 首先,让我们了解...
* org.apache.commons.logging.impl.Log4JLogger 使用 Log4J * org.apache.commons.logging.impl.LogKitLogger 使用 avalon-Logkit * org.apache.commons.logging.impl.SimpleLog common-logging 自带日志实现类 ...
总结起来,Apache Commons Logging和Log4j都是Java开发中的重要工具。前者提供了一个通用的日志API,后者则是一个强大的日志实现。两者结合使用,可以实现灵活、高效的日志管理和输出,对于大型项目和分布式系统的...
在实际开发中,Apache Commons Logging常与其他日志框架一起使用,例如Logback(作为Log4j的替代品)或SLF4J(Simple Logging Facade for Java),后者提供了一种更现代且灵活的日志记录接口,可以透明地桥接到各种...
标题中的“日志框架学习之一:commons-logging+log4j”揭示了本文将探讨的是在Java开发中常用的两个日志处理工具——Apache Commons Logging和Log4j。这两个框架是日志记录的基础,广泛应用于各种Java应用程序,为...
"log4j.jar" 和 "commons-logging.jar" 是两个非常著名的Java日志库,它们在Java日志处理中扮演着核心角色。 **log4j.jar** 是Apache软件基金会开发的一个开源日志框架,它为Java应用程序提供了灵活的日志记录解决...
`commons-logging`会自动检测并选择可用的日志实现,优先级通常是:已配置的`commons-logging.properties`、系统环境变量`org.apache.commons.logging.Log`、`log4j`库、JDK内置日志、最后是`commons-logging`自带的...
javax.servlet.jar and org.apache.commons.logging.Log.jar javax.servlet.jar and org.apache.commons.logging.Log.jar
Log4j和commons-logging是两个常见的日志框架,它们之间存在紧密的关系。本文将深入探讨这两个组件,以及它们在Java日志系统中的作用。 首先,Log4j是由Apache组织开发的一个强大的日志处理库,它提供了丰富的日志...
Log4j和Commons Logging是两个非常流行且实用的日志框架,广泛应用于各种Java应用程序。 **Log4j** 是Apache软件基金会的一个开源项目,它为Java程序员提供了一种强大的日志API。Log4j 1.2.14是该框架的一个较旧...
"commons-logging.jar" 和 "log4j.jar" 是两个广泛使用的Java日志框架,它们在Java应用开发中扮演着至关重要的角色。 **commons-logging.jar** 是Apache Commons Logging库,它提供了一个统一的日志接口,允许...
Log4j和Commons Logging是两个非常流行且实用的日志记录库,它们各自拥有独特的功能和优势,而在某些情况下,它们可以协同工作,提供更灵活的日志解决方案。 首先,Log4j是由Apache软件基金会开发的一个开源日志...
这个接口能够适配多种流行的日志实现,如Log4j、java.util.logging(JUL)和Logback等。在标题"commons-logging-1.2_commonslogging_"中提到的"commons-logging-1.2.jar"就是这个库的1.2版本,它是Spring框架中常用...
SLF4J和Commons Logging都是为了提供日志抽象,使开发者能够轻松地切换日志框架。SLF4J在设计上更优,已成为现代Java项目的首选。了解并熟练使用这两个库,可以提高代码的可移植性和灵活性,同时也方便日志管理和...
Apache Commons Logging 是一个Java日志库,它提供了一个接口,允许开发者使用多种不同的日志框架,如Log4j、Java内置的日志API(java.util.logging)或其他第三方日志实现。`org.apache.commons.logging-sources-...
Apache Commons Logging 提供了一个API,开发人员可以使用这个API编写日志语句,然后在运行时通过配置来决定实际的日志实现,如Log4j、java.util.logging(也称为JUL)或简单的控制台日志。 标题中的"apache-...