Logger类提供了多种方法来处理日志记录活动。Logger类不允许我们实例化新的Logger实例,但是它提供了两种用于获取Logger对象的静态方法:
- public static Logger getRootLogger();
- public static Logger getLogger(String name);
这两个方法中的第一个返回应用程序实例的根记录器,并且它没有名称。
通过传递记录器的名称,可以通过第二种方法获得任何其他命名的Logger对象实例。记录器的名称可以是您可以传递的任何字符串,通常是我们在上一章中使用的类或包名称,下面将提到它:
static Logger log = Logger.getLogger(log4jExample.class.getName());
LoggingMethod(记录方法)
一旦获得命名记录器的实例,就可以使用记录器的几种方法来记录消息。Logger类具有以下用于打印日志信息的方法。
方法 | 说明 |
---|---|
public void debug(Object message) | 它打印级别为Level.DEBUG的消息。 |
public void error(Object message) | 它输出级别为Level.ERROR的消息。 |
public void fatal(Object message) | 它以级别Level.FATAL打印消息。 |
public void info(Object message) | 它以级别Level.INFO打印消息。 |
public void warn(Object message) | 它以级别Level.WARN打印消息。 |
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!
当它们与级别结合使用时,所有调试消息都更有意义。我们将在下一章介绍各个级别,然后,您将对如何将这些方法与不同级别的调试结合使用有很好的了解。