log4j.xml根据日志级别输入日志配置

来源:互联网 发布:陈奕迅 爱情转移 知乎 编辑:程序博客网 时间:2024/05/19 19:44

log.xml内容

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"><log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>    <!-- appender 是可用的日志输出方式定义,可以定义多个 -->    <appender name="INFO" class="org.apache.log4j.RollingFileAppender">        <param name="File"            value="C:/nmj/workspace/myWeb/webapp/WEB-INF/logs/info.log" />        <param name="Append" value="true" />        <param name="MaxFileSize" value="10000KB" />        <param name="MaxBackupIndex" value="50" />        <param name="encoding" value="UTF-8" />        <layout class="org.apache.log4j.PatternLayout">            <param name="ConversionPattern" value="%l %d{ISO8601}-- %p -- %m%n" />        </layout>        <filter class="org.apache.log4j.varia.LevelRangeFilter">            <param name="LevelMin" value="INFO" />            <param name="LevelMax" value="INFO" />        </filter>    </appender>    <appender name="WARN" class="org.apache.log4j.RollingFileAppender">        <param name="File"            value="C:/nmj/workspace/myWeb/webapp/WEB-INF/logs/warn.log" />        <param name="Append" value="true" />        <param name="MaxFileSize" value="10000KB" />        <param name="MaxBackupIndex" value="50" />        <param name="encoding" value="UTF-8" />        <layout class="org.apache.log4j.PatternLayout">            <param name="ConversionPattern" value="%l %d{ISO8601}-- %p -- %m%n" />        </layout>        <filter class="org.apache.log4j.varia.LevelRangeFilter">            <param name="LevelMin" value="WARN" />            <param name="LevelMax" value="WARN" />        </filter>    </appender>    <appender name="ERROR" class="org.apache.log4j.RollingFileAppender">        <param name="File"            value="C:/nmj/workspace/myWeb/webapp/WEB-INF/logs/error.log" />        <param name="Append" value="true" />        <param name="MaxFileSize" value="10000KB" />        <param name="MaxBackupIndex" value="50" />        <param name="encoding" value="UTF-8" />        <layout class="org.apache.log4j.PatternLayout">            <param name="ConversionPattern" value="%l %d{ISO8601}-- %p -- %m%n" />        </layout>        <filter class="org.apache.log4j.varia.LevelRangeFilter">            <param name="LevelMin" value="ERROR" />            <param name="LevelMax" value="ERROR" />        </filter>    </appender>    <!-- root部分定义了log4j的默认输出级别和方式 -->    <root>        <priority value="INFO" />        <appender-ref ref="INFO" />        <appender-ref ref="WARN" />        <appender-ref ref="ERROR" />    </root></log4j:configuration>

在web.xml中加入

<!-- log4j 系统日志 -->    <context-param>        <param-name>log4jConfigLocation</param-name>        <param-value>classpath:log4j.xml</param-value>    </context-param>    <context-param>        <!-- 日志页面的刷新间隔 -->        <param-name>log4jRefreshInterval</param-name>        <param-value>6000</param-value>    </context-param><listener>       <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>   </listener>  

测试类

    public static void main(String[] args) {        Logger log = Logger.getLogger(test_log4j.class.getName());        log.info("info");        log.error("error");        log.warn("warn");    }