log4j是一个非常强大的log记录软件。下载地址: http://logging.apache.org/log4j

1、加载log4j- 1.2.15.jar包(lib目录下)

2、Java代码:(src目录下)
package com.coderdream.log4jDao;

import org.apache.log4j.Logger;

public class HelloDao extends prt {
    private static Logger logger = Logger.getLogger(HelloDao.class);

   
    public static void main(String[] args) {
        // 记录debug级别的信息
        logger.debug("This is debug message from Dao.");
        // 记录info级别的信息
        logger.info("This is info message from Dao.");
        // 记录error级别的信息
        logger.error("This is error message from Dao.");
        // 记录debug级别的信息
        if (logger.isDebugEnabled()) {
            logger.debug("This is debug message from Dao.");
        }

        // 记录info级别的信息
        if (logger.isInfoEnabled()) {
            logger.info("This is info message from Dao.");
        }

        // 记录error级别的信息
        logger.error("This is error message from Dao.");
        HelloDao obj = new HelloDao();//调用构造函数
        try {
            obj.print();
        } catch (Exception e) {
            logger.error(e.getMessage());
            // e.printStackTrace();
        }
    }
}

class prt {
    void print() {
        int a = 6;
        int b = 0;
        int c = a / b;        //除数为0
    }
}

3、设置log4j.xml(src目录下)
<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> 
 
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> 
          <!-- 控制台输出日志 -->
    <appender name="appender1" class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.PatternLayout">
          <param name="ConversionPattern"    
                value="[%d{dd HH:mm:ss,SSS\} %-5p] [%t] %c{2\} - %m%n" /> 
        </layout>
    </appender>
          <!-- 文件输出日志error -->
    <appender name="appender2" 
        class="org.apache.log4j.RollingFileAppender"> 
        <param name="File" value="./logd/log4j-err.log" /> 
        <param name="MaxFileSize" value="1MB" /> 
        <param name="MaxBackupIndex" value="5" />  
        <layout class="org.apache.log4j.PatternLayout">
         <param name="ConversionPattern"    
                value="[%d{dd HH:mm:ss,SSS\} %-5p] [%t] %c{2\} - %m%n" />  
        </layout>
       
                <!--过滤器设置输出的级别--> 
       <filter class="org.apache.log4j.varia.LevelRangeFilter"> 
            <param name="levelMin" value="error" /> 
            <param name="levelMax" value="error" /> 
            <param name="AcceptOnMatch" value="true" /> 
        </filter>  
    </appender> 
   
              <!-- 文件输出所有日志 -->
    <appender name="appender3" 
        class="org.apache.log4j.RollingFileAppender"> 
        <param name="File" value="./logd/log4j.log" /> 
        <param name="MaxFileSize" value="1MB" /> 
        <param name="MaxBackupIndex" value="5" />  
        <layout class="org.apache.log4j.PatternLayout">
         <param name="ConversionPattern"    
                value="[%d{dd HH:mm:ss,SSS\} %-5p] [%t] %c{2\} - %m%n" />  
        </layout> 
    </appender> 

             <!-- 文件输出级别为debug -->
    <root> 
        <level value="debug" /> 
        <appender-ref ref="appender1" /> 
        <appender-ref ref="appender2" /> 
        <appender-ref ref="appender3" />
    </root>
    
</log4j:configuration>  

这样这个工程就可以运行了!!!
控制台输出结果:
[13 21:29:41,906 DEBUG] [main] log4jDao.HelloDao - This is debug message from Dao.
[13 21:29:41,906 INFO ] [main] log4jDao.HelloDao - This is info message from Dao.
[13 21:29:41,906 ERROR] [main] log4jDao.HelloDao - This is error message from Dao.
[13 21:29:41,906 DEBUG] [main] log4jDao.HelloDao - This is debug message from Dao.
[13 21:29:41,906 INFO ] [main] log4jDao.HelloDao - This is info message from Dao.
[13 21:29:41,906 ERROR] [main] log4jDao.HelloDao - This is error message from Dao.
I come in !!!
[13 21:29:41,906 ERROR] [main] log4jDao.HelloDao - / by zero

后台 根目录/logd/下会产生log4j-err.log和log4j.log日志文件,log4j-err.log仅包含error级别日志,log4j.log包含所有日志。

没有登录不能评论