javalog4j输出级别_Log4j⽇志级别详解
Log4j⽇志级别从⾼到低分别为:
8:OFF(Integer.MAX_VALUE),⽤户关闭所有⽇志记录
7:FATAL(50000),导致应⽤程序退出的严重错误
6:ERROR(40000),虽然发⽣了错误但不影响系统的继续运⾏
5:WARN(30000),会出现潜在的错误情形
4:INFO(20000),在粗粒度级别上,强调应⽤程序的运⾏全程
3:DEBUG(10000),在细粒度级别上,对调试应⽤程序⾮常有帮助
2:TRACE(5000),
1:ALL(Integer.MIN_VALUE),打开所有⽇志记录
上述⽇志级别都定义在org.apache.log4j.Level类中,在org.apache.log4j.Priority类中,定义了各⽇志级offt
别的整型值,通过各⽇志级别定义的整型值就很好理解优先级的概念了,⽐如我Log4j⽇志级别定义成INFO,那么INFO、WARN、ERROR、FATAL级别的信息会打印出来,DEBUG、TRACE就不会被打印出来。即只有⼤于等于定义的⽇志级别的信息才会显⽰出来!
Log4j官⽹建议我们在使⽤Log4j⽇志级别的过程中,只使⽤ERROR、WARN、INFO、DEBUG,讲了这么多,是不是不是很直观?那么通过程序代码来看看吧atheros
以下是代码结构,注意,我只引⽤了log4j-1.2.17这个包,log4j2我们后期的⽂章会讲解到的。
具体代码如下import org.apache.log4j.Level;
import org.apache.log4j.Logger;
public class Test {
杭州大数据培训>tmisprivate static Logger logger = Logger(Test.class);
public static void main(String[] args) {
logger.tLevel(Level.TRACE);
guangtong
//记录Trace级别信息
//记录Debug级别信息
impact是什么意思>还钱英语logger.debug("这是Debug级别信息!【"+Level.DEBUG_INT+"】");
//记录Info级别信息
logger.info("这是Info级别信息!【"+Level.INFO_INT+"】");
//记录Warn级别信息
logger.warn("这是Warn级别信息!【"+Level.WARN_INT+"】");
//记录Error级别信息
<("这是Error级别信息!【"+Level.ERROR_INT+"】");
/
/记录Fatal级别信息
logger.fatal("这是Fatal级别信息!【"+Level.FATAL_INT+"】");
}
}
输出结果[TRACE] 2017-03-10 10:44:06,181 method:Test.main(Test.java:12)
这是Trace级别信息!【5000】
inconsolable
[DEBUG] 2017-03-10 10:44:06,183 method:Test.main(Test.java:14)
这是Debug级别信息!【10000】
[INFO ] 2017-03-10 10:44:06,183 method:Test.main(Test.java:16)
这是Info级别信息!【20000】
[WARN ] 2017-03-10 10:44:06,183 method:Test.main(Test.java:18)
这是Warn级别信息!【30000】
[ERROR] 2017-03-10 10:44:06,183 method:Test.main(Test.java:20)
这是Error级别信息!【40000】
[FATAL] 2017-03-10 10:44:06,183 method:Test.main(Test.java:22)
这是Fatal级别信息!【50000】
你可以通过调整logger.tLevel(Level.TRACE)更直观的理解Log4j的⽇志级别。
haarp需要注意的是,虽然我们在程序⾥⾯定义了⽇志的输出级别,但是,还是需要有log4j.properties⽂件的。不然,程序会报以下错误信息log4j:WARN No appenders could be found for logger (Test).
log4j:WARN Plea initialize the log4j system properly.
log4j.properties⽂件的具体内容如下Logger = debug,stdout
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 = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
好了,通过以上的⽂章,理解Log4j⽇志级别是不是很容易?