`
DesHpoT
  • 浏览: 33562 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

Apache Commons Logging和log4j

    博客分类:
  • JAVA
阅读更多

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输出级别而不重启服务器了

 

 

 

分享到:
评论

相关推荐

    Apache Commons Logging整合Log4j简单例子

    1. **引入依赖**:在项目中添加Apache Commons Logging和Log4j的库。如果是Maven项目,可以在pom.xml文件中添加相应的依赖项;如果是非Maven项目,需要将jar文件添加到类路径中。 2. **配置Log4j**:创建一个`log4j...

    apache-log4j-2.3-bin和commons-logging-1.2

    Apache Log4j 2.3 和 Commons Logging 1.2 是两个在Java Web开发中广泛使用的日志处理库。这两个库对于记录应用程序的运行时信息、调试错误和监控系统状态至关重要。 **Apache Log4j 2.3** Log4j 是 Apache 组织...

    (zt)Commons-logging + Log4j 入门指南

    Apache Commons Logging和Log4j是两个广泛使用的日志框架,本指南将深入讲解如何将它们结合使用,为你的Java应用程序提供强大的日志功能。 首先,让我们了解Apache Commons Logging。它是Apache软件基金会的一个...

    commons-logging和Log4j的关系

    标题中的“commons-logging”和“Log4j”是两个在Java编程中广泛使用的日志处理框架。它们在日志管理领域中各自扮演着不同的角色,而它们之间的关系则涉及到日志实现的抽象与具体实现的层次问题。 首先,让我们了解...

    Apache Commons-logging使用实例

    * org.apache.commons.logging.impl.Log4JLogger 使用 Log4J * org.apache.commons.logging.impl.LogKitLogger 使用 avalon-Logkit * org.apache.commons.logging.impl.SimpleLog common-logging 自带日志实现类 ...

    commons-logging-1.2.rar

    总结起来,Apache Commons Logging和Log4j都是Java开发中的重要工具。前者提供了一个通用的日志API,后者则是一个强大的日志实现。两者结合使用,可以实现灵活、高效的日志管理和输出,对于大型项目和分布式系统的...

    apache-commons-logging.zip

    在实际开发中,Apache Commons Logging常与其他日志框架一起使用,例如Logback(作为Log4j的替代品)或SLF4J(Simple Logging Facade for Java),后者提供了一种更现代且灵活的日志记录接口,可以透明地桥接到各种...

    日志框架学习之一:commons-logging+log4j

    标题中的“日志框架学习之一:commons-logging+log4j”揭示了本文将探讨的是在Java开发中常用的两个日志处理工具——Apache Commons Logging和Log4j。这两个框架是日志记录的基础,广泛应用于各种Java应用程序,为...

    log4j.jar和commons-logging.jar

    "log4j.jar" 和 "commons-logging.jar" 是两个非常著名的Java日志库,它们在Java日志处理中扮演着核心角色。 **log4j.jar** 是Apache软件基金会开发的一个开源日志框架,它为Java应用程序提供了灵活的日志记录解决...

    Commons-logging + Log4j 使用

    `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 javax.servlet.jar and org.apache.commons.logging.Log.jar

    Java日志学习一:Log4j和commons-logging的关系

    Log4j和commons-logging是两个常见的日志框架,它们之间存在紧密的关系。本文将深入探讨这两个组件,以及它们在Java日志系统中的作用。 首先,Log4j是由Apache组织开发的一个强大的日志处理库,它提供了丰富的日志...

    log4j-1.2.14和commons-logging-1.1

    Log4j和Commons Logging是两个非常流行且实用的日志框架,广泛应用于各种Java应用程序。 **Log4j** 是Apache软件基金会的一个开源项目,它为Java程序员提供了一种强大的日志API。Log4j 1.2.14是该框架的一个较旧...

    commons-logging.jar log4j.jar

    "commons-logging.jar" 和 "log4j.jar" 是两个广泛使用的Java日志框架,它们在Java应用开发中扮演着至关重要的角色。 **commons-logging.jar** 是Apache Commons Logging库,它提供了一个统一的日志接口,允许...

    log4j与commons-logging-1.0.4.jar

    Log4j和Commons Logging是两个非常流行且实用的日志记录库,它们各自拥有独特的功能和优势,而在某些情况下,它们可以协同工作,提供更灵活的日志解决方案。 首先,Log4j是由Apache软件基金会开发的一个开源日志...

    commons-logging-1.2_commonslogging_

    这个接口能够适配多种流行的日志实现,如Log4j、java.util.logging(JUL)和Logback等。在标题"commons-logging-1.2_commonslogging_"中提到的"commons-logging-1.2.jar"就是这个库的1.2版本,它是Spring框架中常用...

    slf4j与commons-logging处理日志

    SLF4J和Commons Logging都是为了提供日志抽象,使开发者能够轻松地切换日志框架。SLF4J在设计上更优,已成为现代Java项目的首选。了解并熟练使用这两个库,可以提高代码的可移植性和灵活性,同时也方便日志管理和...

    org.apache.commons.logging-sources-1.1.1.zip

    Apache Commons Logging 是一个Java日志库,它提供了一个接口,允许开发者使用多种不同的日志框架,如Log4j、Java内置的日志API(java.util.logging)或其他第三方日志实现。`org.apache.commons.logging-sources-...

    apache-commons-logging.jar.zip

    Apache Commons Logging 提供了一个API,开发人员可以使用这个API编写日志语句,然后在运行时通过配置来决定实际的日志实现,如Log4j、java.util.logging(也称为JUL)或简单的控制台日志。 标题中的"apache-...

Global site tag (gtag.js) - Google Analytics