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,开始配置,内容如下:
<? xml version="1.0" encoding="UTF-8" ?>
<!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("跟踪信息"); }}
源代码:
ps:博客园的代码插入功能还是有问题。