教程 > log4j 教程 > 阅读:72

log4j 日志级别——迹忆客-ag捕鱼王app官网

org.apache.logging.log4j.level 级别。 我们还可以通过对 level 类进行子类化来定义自定义级别。

级别 描述
all 所有级别,包括自定义级别。
debug 指定对调试应用程序最有用的细粒度信息事件。
info 指定在粗粒度级别突出显示应用程序进度的信息性消息。
warn 指定潜在的有害情况。
error 指定可能仍允许应用程序继续运行的错误事件。
fatal 指定可能导致应用程序中止的非常严重的错误事件。
off 可能的最高等级,旨在关闭日志记录。
trace 指定比 debug 更细粒度的信息事件。

level 如何运作?

如果 p >= q,则启用级别为 q 的记录器中级别 p 的日志请求。 这条规则是 log4j 的核心。 它假定级别是有序的。 对于标准级别,我们有 all < debug < info < warn < error < fatal < off

以下示例显示了我们如何过滤所有 debug 和 info 消息。 该程序使用记录器方法 setlevel(level.x) 来设置所需的日志记录级别:

此示例将打印除 debug 和 info 之外的所有消息:

import org.apache.logging.log4j.*;
public class logclass {
   private static org.apache.log4j.logger log = logmanager.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!

使用配置文件设置 level

log4j 为我们提供基于配置文件的级别设置,当我们想要更改调试级别时,它可以让我们不必更改源代码。

以下是一个示例配置文件,它将执行与我们在上述示例中使用 log.setlevel(level.warn) 方法相同的任务。

#property.filename = /workspace/java/log4j
##
#appender.infofile.type = file
#appender.infofile.name = infologfile
##
#appender.infofile.filename=${filename}/log.out
#appender.infofile.layout.type = patternlayout
#appender.infofile.layout.pattern=[%-5level] %d{yyyy-mm-dd hh:mm:ss.sss} %c{1} [%t] - %m%n
#rootlogger.level = warn
#rootlogger.appenderref.infofile.ref = infologfile
#rootlogger.appenderref.infofile.level = warn

现在让我们使用下面的程序

import org.apache.log4j.*;
public class logclass {
   private static org.apache.log4j.logger log = logmanager.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!");
   }
}

现在编译并运行上述程序,我们将在 /workspace/java/log4j/log.out 文件中得到以下结果

log4j 日志级别

查看笔记

扫码一下
查看教程更方便
网站地图