首页 > 学院 > 开发设计 > 正文

log4j日志记录级别

2019-11-10 19:31:13
字体:
来源:转载
供稿:网友

org.apache.log4j.Level类提供以下级别,但也可以通过Level类的子类自定义级别。

Level描述
ALL各级包括自定义级别
DEBUG指定细粒度信息事件是最有用的应用程序调试
ERROR错误事件可能仍然允许应用程序继续运行
FATAL指定非常严重的错误事件,这可能导致应用程序中止
INFO指定能够突出在粗粒度级别的应用程序运行情况的信息的消息
OFF这是最高等级,为了关闭日志记录
TRACE指定细粒度比DEBUG更低的信息事件
WARN指定具有潜在危害的情况

日志级别是如何工作?

级别p的级别使用q,在记录日志请求时,如果p>=q启用。这条规则是log4j的核心。它假设级别是有序的。对于标准级别它们关系如下:ALL < DEBUG < INFO < WARN < ERROR < FATAL < OFF。

下面的例子明确指出如何可以过滤所有的DEBUG和INFO消息。这个程序使用记录并执行setLevel(Level.X)方法来设置所需的日志记录级别:

这个例子将打印,除了调试和信息的所有消息:

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 filelog = /usr/home/log4jlog4j.rootLogger = WARN, FILE# Define the file appenderlog4j.appender.FILE=org.apache.log4j.FileAppenderlog4j.appender.FILE.File=${log}/log.out# Define the layout for file appenderlog4j.appender.FILE.layout=org.apache.log4j.PatternLayoutlog4j.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 文件:

Warn Message!Error Message!Fatal Message!
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表