zoukankan      html  css  js  c++  java
  • log4j日志配置

    log4j日志配置有两种方式:log4j.xml 和log4j.properties两种,这里介绍xml的配置方式。

    一.引入jar包

       commons-logging 和 log4j

    二.在web.xml定义log配置文件并设置监听器

      备注:web.xml文件中也可以不进行log的配置,只需要配置文件名字是 log4j.xml 或者 log4j.properties ,项目启动时会自动查找是否存在

    <context-param>
    <param-name>log4jConfigLocation</param-name>
    <param-value>classpath:spring/config/log4j.xml</param-value>  //指向log配置文件的路径
    </context-param>

    <!--定义LOG4J监听器-->
    <listener>
    <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
    </listener>

    <!-- 此配置是指定项目根目录 value的值可以随意取,如果不定义,value将会缺省为“webapp.root” -->
    <context-param>
    <param-name>webAppRootKey</param-name>
    <param-value>account.root</param-value>
    </context-param>

    三.完成log4j.xml文件,比如,文件目录为spring/config/log4j.xml

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

    <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

    <!-- 创建一个appender,名字是console(自己取名),将日志信息输出到控制台 -->
    <appender name="console" class="org.apache.log4j.ConsoleAppender">
    <param name="ImmediateFlush" value="true"/>
    <!-- 设置日志输出的样式 -->
    <layout class="org.apache.log4j.PatternLayout">
    <!-- 设置日志输出的格式 -->
    <param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss}][%-5p]%F:%L - %m%n"/>
    </layout>
    </appender>

    <!-- 创建一个appender,名字是file-info(自己取名),将日志信息输出到文件 -->
    <appender name="file-info" class="org.apache.log4j.DailyRollingFileAppender">
    <!-- 设置日志信息输出文件全路径名,路径名可以写绝对路径和相对路径,如下是相对路径, account.root是第二步在web.xml配置的项目根目录名称-->
    <param name="File" value="${account.root}/account-info.log"/>
    <!-- 设置是否在重新启动服务时,在原有日志的基础添加新日志 -->
    <param name="Append" value="true"/>
    <!-- 备份文件的个数,会自动转化为目标文件-->
    <param name="MaxBackupIndex" value="30"/>
    <!-- 设置日志多久回滚一次,即产生一个新的日志文件(这里设置了一天) -->
    <param name="DatePattern" value="'.'yyyy-MM-dd"/>
    <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss}][%-5p]%F:%L - %m%n"/>
    </layout>
    <!--过滤器设置输出的级别-->
    <filter class="org.apache.log4j.varia.LevelRangeFilter">
    <!-- 设置日志输出的最小级别 -->
    <param name="LevelMin" value="trace"/>
    <!-- 设置日志输出的最大级别 -->
    <param name="LevelMax" value="info"/>
    </filter>
    </appender>


    <!-- 创建一个logger,name指向一个包名,additivity="false"表示root配置对此包下的日志打印不生效。
    level 表示日志级别, appender-ref 表示依赖定义的哪个appender(可以配置一个或多个)
    如下配置解释:对com.cn包及子包下的所有日志打印有效,日志级别是info,对file-info的配置都生效(打印到文件中)。
    -->
    <logger name="com.cn" additivity="false">
    <level value="info"/>
    <appender-ref ref="file-info"/>
    </logger>

    <!-- root配置对所有的日志打印进行输出, <logger additivity="false"> 的不生效
    -->
    <root>
    <priority value="info"/>
    <appender-ref ref="console"/>
    <appender-ref ref="file-info"/>
    </root>

    </log4j:configuration>
  • 相关阅读:
    DOM对象
    多态
    封装和继承
    析构函数
    构造函数
    二维数组
    javascript的基本语法
    javascript数组
    js
    BOM和DOM的区别
  • 原文地址:https://www.cnblogs.com/wutongin/p/8359986.html
Copyright © 2011-2022 走看看