org.apache.log4j.Level
类提供了下面几种日志级别,你也可以通过继承这些类,自定义级别
- ALL 所有日志级别都包括
- DEBUG 指定信息事件的粒度是DEBUG,在调试应用的时候会有帮助
- ERROR 指定错误事件,并且这些事件还会保证应用继续运行
- FATAL 指定严重的错误事件,该事件会导致应用暂停
- INFO 指定信息消息,强调应用粗粒度的运行情况
- OFF 最高等级,相当与关闭了日志
- TRACE 指定比DEBUG更细粒度的调试日志
- WARN 输出具有潜在风险的信息
如何使用不同的级别
log4j中日志的级别是排好序的,一般的标准是
ALL < DEBUG < INFO < WARN < ERROR < FATAL < OFF
如果日志本身使用的是WARN输出,但是log4j设置的级别是FATAL,则不会输出;相反,如果设置的是DEBUG,则会输出。
下面这个例子,展示了如何过滤DEBUG和INFO消息。
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)方法相同的工作:
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!");
}
}
运行上述的代码,就会得到:
MessageMessageMessage
本文转自博客园xingoo的博客,原文链接:Log4j官方文档翻译(六、日志的级别),如需转载请自行联系原博主。