log4j - 日志记录方法



Logger 类提供各种方法来处理日志记录活动。Logger 类不允许我们实例化新的 Logger 实例,但它提供了两种静态方法来获取 Logger 对象:

  • public static Logger getRootLogger();
  • public static Logger getLogger(String name);

这两种方法中的第一种返回应用程序实例的根日志记录器,并且它没有名称。

任何其他命名的 Logger 对象实例都是通过第二种方法获得的,方法是传递日志记录器的名称。日志记录器的名称可以是您传递的任何字符串,通常是类名或包名,就像我们在上一章中使用的那样,并在下面提到:

static Logger log = Logger.getLogger(log4jExample.class.getName());

日志记录方法

一旦我们获得命名日志记录器的实例,我们就可以使用日志记录器的几种方法来记录消息。Logger 类具有以下方法用于打印日志信息。

# 方法和描述
1 public void debug(Object message)

它以 Level.DEBUG 级别打印消息。

2 public void error(Object message)

它以 Level.ERROR 级别打印消息。

3 public void fatal(Object message)

它以 Level.FATAL 级别打印消息。

4 public void info(Object message)

它以 Level.INFO 级别打印消息。

5 public void warn(Object message)

它以 Level.WARN 级别打印消息。

6 public void trace(Object message)

它以 Level.TRACE 级别打印消息。

所有级别都在 **org.apache.log4j.Level** 类中定义,并且可以按如下方式调用上述任何方法:

import org.apache.log4j.Logger;

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!");
   }
}

当您编译并运行 **LogClass** 程序时,它将生成以下结果:

Debug Message!
Info Message!
Warn Message!
Error Message!
Fatal Message!

当与级别结合使用时,所有调试消息都更有意义。我们将在下一章中介绍级别,然后您将很好地理解如何在不同级别的调试中结合使用这些方法。

广告