您的位置:首页 > 编程语言 > Java开发

java log4j.xml配置与使用

2011-04-28 10:44 302 查看
将配置好的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.");
}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: