org.apache.log4j.Level 级别.您还可以通过对级别类进行子类化来定义自定义级别.
等级 | 描述 |
---|---|
ALL | 包括自定义级别在内的所有级别. |
DEBUG | 指定对调试应用程序最有用的细粒度信息事件. |
INFO | 指定在粗粒度级别突出显示应用程序进度的信息性消息. |
WARN | 指定可能有害的情况. |
ERROR | 指定可能仍允许应用程序继续运行的错误事件. |
FATAL | 指定非常严重的错误事件,可能会导致应用程序中止. |
OFF | 最高等级,旨在关闭记录. |
TRACE | 指定比DEBUG更精细的信息事件. |
级别为 q 的记录器中的级别为 p 的日志请求已启用如果p> = q.这条规则是log4j的核心.它假定级别是有序的.对于标准水平,我们有ALL< DEBUG<信息<警告<错误<致命<关闭.
以下示例显示了我们如何过滤所有DEBUG和INFO消息.此程序使用logger方法setLevel(Level.X)来设置所需的日志记录级别:
此示例将打印除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!"); } }
编译并运行 LogClass 程序时,会产生以下结果 :
Warn Message! Error Message! Fatal Message!
log4j为您提供基于配置文件的级别设置,使您可以免于更改源想要更改调试级别的代码.
以下是一个示例配置文件,它将执行与我们使用 log.setLevel(Level.WARN)
# Define the root logger with appender file log = /usr/home/log4j log4j.rootLogger = WARN, FILE # Define the file appender log4j.appender.FILE=org.apache.log4j.FileAppender log4j.appender.FILE.File=${log}/log.out # Define the layout for file appender 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!"); } }
现在编译并运行上面的程序,你会得到以下结果/usr/home/log4j/log.out file :
Warn Message! Error Message! Fatal Message!