org.apache.log4j.Level
类提供了下面几种日志级别,你也能够经过继承这些类,自定义级别apache
log4j中日志的级别是排好序的,通常的标准是
ALL < DEBUG < INFO < WARN < ERROR < FATAL < OFF
若是日志自己使用的是WARN输出,可是log4j设置的级别是FATAL,则不会输出;相反,若是设置的是DEBUG,则会输出。app
下面这个例子,展现了如何过滤DEBUG和INFO消息。debug
import org.apache.log4j.*; public class LogClass { private static org.apache.log4j.Logger log = Logger.getLogger(LogClass.class); public static void main(String[] args) { log.setLevel(Level.WARN); log.trace("Trace Message!"); log.debug("Debug Message!"); log.info("Info Message!"); log.warn("Warn Message!"); log.error("Error Message!"); log.fatal("Fatal Message!"); } }
当编译后执行,会获得以下的结果:
调试
Warn Message!
Error Message!
Fatal Message!
log4j支持在配置文件中设置日志的默认级别,这样就不用修改源代码,就能够改变日志的级别了。日志
下面就给出了一个配置文件的例子,与上面log.setLevel(Level.WARN)方法相同的工做:
code
log = /usr/home/log4j
log4j.rootLogger = WARN, FILE
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=${log}/log.out
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n
而后运行下面的代码:
继承
import org.apache.log4j.*;
public class LogClass {
private static org.apache.log4j.Logger log = Logger.getLogger(LogClass.class);
public static void main(String[] args) {
log.trace("Trace Message!");
log.debug("Debug Message!");
log.info("Info Message!");
log.warn("Warn Message!");
log.error("Error Message!");
log.fatal("Fatal Message!");
}
}
Warn Message!Error Message!Fatal Message!