log4j-1.2.16.ja环境:Myeclipse10+log4j1.2.16+JDK1.6
1.新建java项目,Log4jTest。
2.将 log4j-1.2.16.jar拷贝到项目根目录,右键项目,属性,java build path,add jars,选中 log4j-1.2.16.jar
3.在源代码目录新建xml文件:log4j.xml,开始配置,内容如下:
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/' >
<appender name="myFile" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="logs.log" /><!-- 设置日志输出文件名 -->
<!-- 设置是否在重新启动服务时,在原有日志的基础添加新日志 -->
<param name="Append" value="true" />
<param name="MaxBackupIndex" value="10" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %5l [%5p] - %m%n" />
</layout>
</appender>
<!-- 指定logger的设置,additivity指示是否遵循缺省的继承机制-->
<logger name="com.tsinghua.test.Log4jTest" additivity="false">
<priority value ="all"/>
<level value="all" />
<appender-ref ref="myFile" />
</logger>
<!-- 根logger的设置-->
<root>
<appender-ref ref="myFile"/>
</root>
</log4j:configuration>
4.在代码中(Log4jTest.java)将日志写入日志文件,代码如下:
* @author sixi
* @version 0.1
* Company:Tsinghua
* Date:2012-09-17
* Description:这是一个测试log4j的类
* */
package com.tsinghua.test;
import org.apache.log4j.*;
public class Log4jTest {
private static Logger logger = LogManager.getLogger(Log4jTest.class.getName());
/**
* @param args
*/
public static void main(String[] args) {
/*在代码中设置Log4j开始*/
/*在xml配置文件中配置和下面的在代码中配置效果一样,*/
// PatternLayout p=new PatternLayout();
//
// p.setConversionPattern("%d{yyyy-MM-dd HH:mm:ss.SSS} %5l [%5p] - %m%n");
// FileAppender appender = null;
// try {
// appender = new FileAppender(p,"logs.log",true);
// }
// catch(Exception e)
// {
// e.printStackTrace();
// }
// logger.setLevel(Level.ALL);
// logger.addAppender(appender);
/*在代码中设置Log4j结束*/
logger.info("当前时间:"+new java.util.Date().toString());
logger.warn("脖子太累了,出去活动活动");
logger.error("程序错误。");
logger.trace("跟踪信息");
}
}
源代码:
log4jTest.7z