zoukankan      html  css  js  c++  java
  • Log4j的配置和使用

    对log4j.jar和commons-logging的理解

    log4j.jar和commons-logging.jar 要结合使用:只需要引入这两个包,再配置下log4j.properties文件即可。                                                    

    log4j是标准,是底层,功能非常的强大。

    而commons-logging.jar是对log4j.jar的封装,提供了简洁,统一的接口,不需要额外的配置,简单。

    commons-logging.jar仅仅对log4j.jar(当然还包括其它log实现)做了一层包装,具体的日志输出还是在内部转交给身后的log4j.jar来处理;而log4j虽然做了所有的事情,却甘做绿叶,从不以真身示人。

    两者堪称绝配。

    log4j.properties的配置

    下面对log4j.properties文件配置作一点点介绍:

    主要由三个重要的组件构成:日志信息的优先级、日志信息的输出目的地、日志信息的输出格式

    日志信息的优先级从高到底有:FATAL ERROR WARN INFO DEBUG TRACE ALL,分别用来指这条信息的重要程度;

    日志信息的输出目的地指定了日志将打印到控制台还是文件中;

    日志信息的输出格式控制了日志信息的显示内容。

    log4j.rootLogger = debug,A,B

    #输出到控制台

    log4j.appender.A = org.apache.log4j.ConsoleAppender

    log4j.appender.A.target = System.out

    log4j.appender.A.layout = org.apache.log4j.PatternLayout

    log4j.appender.A.layout.ConversionPattern =%d %p %t %c - %m %n

    #输出到日志文件

    log4j.appender.B = org.apache.log4j.DailyRollingFileAppender

    log4j.appender.B.File = logs/log.txt文件路径

    log4j.appender.B.Append=true

    log4j.appender.B.Threshold = DEBUG

    log4j.appender.B.layout = org.apache.log4j.PatternLayout

    log4j.appender.B.layout.ConversionPattern =%d %p %t %c - %m %n

    (注:%d-输出日志事件点的日期或时间(默认格式为ISO8601,也可以自定义:%d{yyy MMM dd HH:mm:ss.SSS}),%p—日志信息优先级,%t-输出产生该日志事件的线程名,%c-输出所属的类目,%m-内容,%n-回车换行,%l-输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。)

    如何加载log4j.properties配置文件

    1.  自动加载以log4j命名的properties文件,路径子src下。

    2.  可以使用PropertyConfigurator.configure(“properties文件路径”);

    DOMConfigurator.configure(String filename):读取XML形式的配置文件

    在web程序中使用log4j注意问题:由于jsp或servlet在执行状态没有当前路径概念,所有使用PropertyConfigurator.configure(String)语句找log4j.propreties文件时要给出相对于当前jsp或servlet的路径转化为一个绝对的文件系统路径。方法是使用servletcontext.getrealpath(“”)语句。例如:

    //得到当前jsp路径

    String prefix = getServletContext.getRealPath(“”);

    //读取log4j.properties

    PropertyConfigurator.configure(prefix+”//WEB-INF//log4j.properties”);

    3.  在spring项目中配置Log4j

    第一种:在web.xml中配置参数,通过Log4jConfigListener实现监听:

    <!--指定log4j配置文件 -->

    <context-param>

        <param-name>log4jConfigLocation</param-name>

        <param-value>/WEB-INF/classes/log4j.properties </param-value>

    </context-param>

    <!--指定以Listener方式监听log4j配置文件-->

    <listener>

        <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>

    </listener>

    第二种:在web.xml中配置参数,通过Log4jConfigServlet实现:
    <!--指定log4j配置文件 -->

    <context-param>

        <param-name>log4jConfigLocation</param-name>

        <param-value>/WEB-INF/classes/log4j.properties </param-value>

    </context-param>

    <servlet>

        <servlet-name>log4j</servlet-name>

        <servlet-class>org.springframework.web.util.Log4jConfigServlet</servlet-class>

        <load-on-startup>1</load-on-startup>

    </servlet>

  • 相关阅读:
    Swift和Objective-C混编注意
    【算法设计与数据结构】为何程序员喜欢将INF设置为0x3f3f3f3f?(转)
    baidu网盘下载神器 Pandownload
    为什么大学要学一堆纸上谈兵的课程?(转)
    数据结构实训——校园导游系统
    数据结构实训——哈希表设计
    数据结构实训——员工管理系统
    数据结构实训——成绩统计系统
    数据结构——链表实现一元多项式的表示和加法
    数据结构——顺序表的一些算法
  • 原文地址:https://www.cnblogs.com/hy928302776/p/6937834.html
Copyright © 2011-2022 走看看