log4j 分级别写入不同的日志文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>

 <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
  <layout class="org.apache.log4j.PatternLayout">
   <param name="ConversionPattern" value="%c %d{ISO8601} -- %p -- %m%n" />
  </layout>
 </appender>

 <appender name="DEBUG"
  class="org.apache.log4j.RollingFileAppender">
  <param name="File" value="C:\\logs\\app-debug.log" />
  <param name="Append" value="true" />
  <param name="MaxFileSize" value="500KB" />
  <param name="MaxBackupIndex" value="2" />
  <layout class="org.apache.log4j.PatternLayout">
   <param name="ConversionPattern" value="%c %d{ISO8601} -- %p -- %m%n" />
  </layout>

  <!-- filter作用?  配置LevelMax与LevelMin限定输出到文件的日志级别 -->
  <filter class="org.apache.log4j.varia.LevelRangeFilter">
   <param name="LevelMin" value="DEBUG" />
   <param name="LevelMax" value="DEBUG" />
  </filter>
 </appender>

 <appender name="INFO"
  class="org.apache.log4j.RollingFileAppender">
  <param name="File" value="C:\\logs\\app-info.log" />
  <param name="Append" value="true" />
  <param name="MaxFileSize" value="500KB" />
  <param name="MaxBackupIndex" value="2" />
  <layout class="org.apache.log4j.PatternLayout">
   <param name="ConversionPattern" value="%c %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:\\logs\\app-warn.log" />
  <param name="Append" value="true" />
  <param name="MaxFileSize" value="500KB" />
  <param name="MaxBackupIndex" value="2" />
  <layout class="org.apache.log4j.PatternLayout">
   <param name="ConversionPattern" value="%c %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:\\logs\\app-error.log" />
  <param name="Append" value="true" />
  <param name="MaxFileSize" value="500KB" />
  <param name="MaxBackupIndex" value="2" />
  <layout class="org.apache.log4j.PatternLayout">
   <param name="ConversionPattern" value="%c %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>
  <priority value="debug" />
  <appender-ref ref="STDOUT" />
  <appender-ref ref="DEBUG" />
  <appender-ref ref="INFO" />
  <appender-ref ref="WARN" />
  <appender-ref ref="ERROR" />
 </root>

</log4j:configuration>

 

 

class

 

import org.apache.log4j.Logger;

public class TestLog4j
{
    private static final Logger log = Logger.getLogger(TestLog4j.class);
   
    public static void main(String[] args)
    {
        log.debug("debug...");
        log.info("info...");
        log.warn("warn...");
        log.error("error...");
    }
}

 

 

你可能感兴趣的:(apache,C++,c,log4j,C#)