工具:log4j的jar包、配置文件log4j.properties(文件名自定义)、eclipse或IDEA

1.先上log4j.properties(我把它放在了D:\testEclipse\ 目录下):


### set log levels ###
log4j.rootLogger = debug ,  stdout ,  D,R


### 1.输出到控制台 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern =  %d{ABSOLUTE} %5p %c{1}:%L - %m%n


### 2.输出到日志文件 ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = logs/log.log
log4j.appender.D.Append = true
	## 输出DEBUG级别以上的日志
log4j.appender.D.Threshold = DEBUG 
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n


### 3.保存异常信息到单独文件 ###
log4j.appender.R = org.apache.log4j.DailyRollingFileAppender
	## 异常日志文件名
log4j.appender.R.File = logs/error.log 
log4j.appender.R.Append = true
	## 只输出ERROR级别以上的日志!!!
log4j.appender.R.Threshold = ERROR 
log4j.appender.R.layout = org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

注意:

1.此配置文件的注释一定要独占一行,不要像eclipse中单行注注释一样写在当前行代码后面,那样会报错

2.其中的stdout是标准输出流,更多详情百度试试。

3.这样输出配置到三个位置:控制台(console)、当前项目下logs文件下 的log.log和error.log 。其中debug和error信息都会输出到控制台,debug以上的包括debug、error都会写进log.log里,error以上的才会写进error.log里。一般调试,就看error.log文件更省事省力。


2.测试程序

package test;

import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;

public class TestLog4j {

	public static void main(String[] args) {
		PropertyConfigurator.configure( "D:\\testEclipse\\log4j.properties" );
        Logger logger  =  Logger.getLogger(TestLog4j.class );
        logger.debug( " debug " );
        logger.error( " error " );
	}

}

自己亲手试试!

参考:

http://blog.csdn.net/azheng270/article/details/2173430/

http://www.cnblogs.com/ITtangtang/p/3926665.html


本文转载:CSDN博客