log4j日志级别是如何工作的?

前面我们讲了log4j日志级别的定义。其中讲到了日志级别顺序这个概念。OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL。

简单来说,就是如果我的日志级别定义为INFO,那么DEBUG、TRACE的信息是不显示的。同理,定义为ERROR,那么WARN、INFO、DEBUG、TRACE都不显示了,下面我们通过程序向大家展示log4j日志级别是如何工作的。

public class Log4jDemo {
	static Logger logger  =  Logger.getLogger(Log4jDemo.class,2);
	public static void main(String[] args){
		logger.setLevel(Level.INFO,2);
		logger.fatal("Fatal Message!",2);
		logger.error("Error Message!",2);
		logger.warn("Warn Message!",2);
		logger.info("Info Message!",2);
		logger.debug("Debug Message!",2);
		logger.trace("Trace Message!",2);
	}
}

我们日志级别定义为INFO,输出结果为

[FATAL] 2016-03-04 16:55:32,916(0) --> [main] com.trs.log.Log4jDemo.main(Log4jDemo.java:16): Fatal Message!  

[ERROR] 2016-03-04 16:55:32,918(2) --> [main] com.trs.log.Log4jDemo.main(Log4jDemo.java:17): Error Message!  

[WARN ] 2016-03-04 16:55:32,919(3) --> [main] com.trs.log.Log4jDemo.main(Log4jDemo.java:18): Warn Message!  

[INFO ] 2016-03-04 16:55:32,919(3) --> [main] com.trs.log.Log4jDemo.main(Log4jDemo.java:19): Info Message! 

下面我们把日志级别设置为ERROR,自己先想下应该输出什么?

[FATAL] 2016-03-04 16:57:12,033(1) --> [main] com.trs.log.Log4jDemo.main(Log4jDemo.java:16): Fatal Message!  

[ERROR] 2016-03-04 16:57:12,035(3) --> [main] com.trs.log.Log4jDemo.main(Log4jDemo.java:17): Error Message! 

log4j是如何工作的,是不是很好理解?

如若转载,请注明出处:http://www.codingwhy.com/view/775.html

联系我们

在线咨询: 点击这里给我发消息

邮件:731000228@qq.com