log4j 配置示例(将log写入文件)log4j 1.2.16

 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("跟踪信息");
    }
}

 源代码:

log4jTest.7z 

 ps:博客园的代码插入功能还是有问题。 

原文地址:https://www.cnblogs.com/sixiweb/p/2688878.html