记录器类提供了各种方法来处理记录活动。Logger类不允许我们实例化一个新的Logger实例,但它提供了两种获取Logger对象的静态方法 -
public static Logger getRootLogger();
公共静态记录器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!
所有调试消息在与级别结合使用时更有意义。我们将在下一章讲述关卡的层次,然后您将很好地理解如何结合不同级别的调试使用这些方法。