6 Log4j Logger类方法

Log4j Logger类方法

获取Logger类实例

Logger类提供了很多方法用来处理日志,Logger类不允许初始化一个新的实例,但提供了两个静态方法用来获取Logger对象:

Logger类获取Logger实例的方法 描述
public static Logger getRootLogger(); 返回没有名称的根日志记录器
public static Logger getLogger(String name); 按名称返回记录器。
日志的名字是传入的任何字符串,通常为类名或者包名。例如:
static Logger log = Logger.getLogger(log4jExample.class.getName());

打印日志信息的方法

一旦获取一个有名字的logger实例,就可以使用多个方法记录日志。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 类中定义。

示例程序

/Log4jDemo/src/demo/method/LoggerMethodTest.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package demo.method;

import org.apache.log4j.Logger;

public class LogClass
{
private static 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!");
}

}

运行效果如下:

1
2
3
4
5
2020-08-03 17:55:26 DEBUG LogClass:13 - Debug Message!
2020-08-03 17:55:26 INFO LogClass:14 - Info Message!
2020-08-03 17:55:26 WARN LogClass:15 - Warn Message!
2020-08-03 17:55:26 ERROR LogClass:16 - Error Message!

可以看到log.trace("Trace Message!");这句代码并没有输出,这是因为当前的日志级别是debugLog4j只会输出级别为debug或者小于debug的日志信息.trace的级别更高,所以不会输出