转至:http://blog.csdn.net/coolcoffee168/article/details/6368924 原文地址
将配置好的log4j.xml 放到项目的classpath下即可。我的是放在src下
- <?xml version="1.0" encoding="UTF-8" ?>
- <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
- <log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
- <!-- ========================== 自定义输出格式说明================================ -->
- <!-- %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL -->
- <!-- %r 输出自应用启动到输出该log信息耗费的毫秒数 -->
- <!-- %c 输出所属的类目,通常就是所在类的全名 -->
- <!-- %t 输出产生该日志事件的线程名 -->
- <!-- %n 输出一个回车换行符,Windows平台为“/r/n”,Unix平台为“/n” -->
- <!-- %d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921 -->
- <!-- %l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10) -->
- <!-- ========================================================================== -->
- <!-- ========================== 输出方式说明================================ -->
- <!-- Log4j提供的appender有以下几种: -->
- <!-- org.apache.log4j.ConsoleAppender(控制台), -->
- <!-- org.apache.log4j.FileAppender(文件), -->
- <!-- org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件), -->
- <!-- org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件), -->
- <!-- org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方) -->
- <!-- ========================================================================== -->
- <!-- 输出到日志文件 -->
- <appender name="log4jTestDebug" class="org.apache.log4j.RollingFileAppender">
- <param name="File" value="D:/work/log/test_log4j_debug.log"/>
- <param name="Append" value="true"/>
- <param name="MaxFileSize" value="5KB"/>
- <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="DEBUG"/>
- <param name="LevelMax" value="DEBUG"/>
- </filter>
- </appender>
- <appender name="log4jTestLogInfo" class="org.apache.log4j.RollingFileAppender">
- <param name="File" value="D:/work/log/test_log4j_info.log"/>
- <param name="Append" value="true"/>
- <param name="MaxFileSize" value="5KB"/>
- <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>
- <!--通过<category></category>的定义可以将各个包中的类日志输出到不同的日志文件中-->
- <category name="com.gzy">
- <priority value="debug" />
- <appender-ref ref="log4jTestLogInfo" />
- <appender-ref ref="log4jTestDebug" />
- </category>
- <root>
- <priority value="debug"/>
- </root>
- </log4j:configuration>
下面写个测试类进行测试
- package com.gzy;
- import org.apache.log4j.Logger;
- /**
- * Created by IntelliJ IDEA.
- * User: zunyong
- * Date: 2011-4-27
- * Time: 16:54:44
- * To change this template use File | Settings | File Templates.
- */
- public class Test {
- private static final Logger log = Logger.getLogger(Test.class);
- public static void main(String[] args) {
- for(int i=0;i<10;i++){
- log.info("Enter the main()....");
- log.debug("Enter the main()....");
- log.warn("Enter the main()....");
- log.info("Enter the main()....");
- System.out.println("this is a log4j test.");
- log.info("log end.");
- }
- }
- }