log4j.properties默认的加载过程

通过配置LogLog.setInternalDebugging(true);可以查看log4j.properties默认的加载过程。

在这里我们先不在web项目的src目录下面放log4j.properties文件,下面是测试的java文件

import org.apache.log4j.Logger;
import org.apache.log4j.helpers.LogLog;
/**
 * 1.在java项目中,log4j.properties配置文件应该放到src目录下
 * 2.在web项目中,log4j.properties配置文件应该放到WebRoot目录下。但是如果想在web项目中java代码中测试,
 * 应该将log4j.properties放到项目的src目录下 
 * 3.log4j.properties配置文件放的位置很重要,否则无法输出日志信息 4.
 *
 */
public class Log4jTest {

	private static Logger logger;
	private static Logger logger2;
	static {
		LogLog.setInternalDebugging(true);//可以看到log4j启动的内部日志
		System.out.println("start.............");
		/* 当Logger初始化时,将会查找log4j.properties文件,如果找到log4j.properties文件,就解析该文件并且使用解析的数据来初始化Logger,用来初始化Logger */
		logger = Logger.getLogger(Log4jTest.class);
		System.out.println("end...........");
	}
	/**
	 * 说明log4j.properties只会被加载一次,就是在第一次初始化Logger的时候
	 */
	static {
		System.out.println("start.............");
		logger2 = Logger.getLogger("gaoweigang");
		System.out.println("end...........");
	}

	public static void main(String[] args) {
		logger2.error("我是彭传志");
		
	}
}

执行上面java代码,有如下输出:

 

猜你喜欢

转载自weigang-gao.iteye.com/blog/2149279