您的位置:首页 > 其它

Log4j 2使用教程一【简单使用】

2017-05-17 10:53 579 查看

环境

操作系统:win7

log4j2版本: 2.8.2

准备

下载
jar

官网https://logging.apache.org/log4j/2.x/download.html

jar包
apache-log4j-2.8.2-bin.zip

源码包
apache-log4j-2.8.2-src.zip

把jar包放入到项目中去

开始使用

假设我们要使用
log4j2
,我们一般是先声明成一个静态成员变量:

private static final Logger logger = LogManager.getLogger(MyApp.class);
// 或者

private static final Logger logger = LogManager.getLogger(MyApp.class.getName());


声明好
logger
后,我们就可以开始使用它了。

假设我们有这么一个程序:

package test;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

public class Hello {

private static Logger logger = LogManager.getLogger(Hello.class.getName());

public void getHello() {

logger.entry();
logger.trace("我是trace");
logger.info("我是info信息");
logger.error("我是error");
logger.fatal("我是fatal");

logger.trace("退出程序.");
logger.exit();
}

public static void main(String[] args) {
new Hello().getHello();
}
}


如果没有自定义配置文件,执行上面的方法后,在控制台显示如下:

10:45:05.641 [main] ERROR test.Hello - 我是error
10:45:05.644 [main] FATAL test.Hello - 我是fatal


从结果上看出,只有>=error级别的日志打印出来了。

这是因为Log4j有一个默认的配置,它的日志级别是ERROR,输出只有控制台。

如果我已经定义好了日志,我把日志级别改成了TRACE,输出会变成下面这样:

10:48:21.326 [main] TRACE test.Hello - Enter
10:48:21.330 [main] TRACE test.Hello - 我是trace
10:48:21.331 [main] INFO  test.Hello - 我是info信息
10:48:21.331 [main] ERROR test.Hello - 我是error
10:48:21.331 [main] FATAL test.Hello - 我是fatal
10:48:21.331 [main] TRACE test.Hello - 退出程序.
10:48:21.331 [main] TRACE test.Hello - Exit


配置文件

log4j2
默认下载包里是没有配置文件的。下面这个配置文件等于缺省配置:

https://logging.apache.org/log4j/2.x/manual/configuration.html

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="error">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</Configuration>


只需要把上面
level
改为
trace
就可以,看到刚才的效果!

由于这篇是简单使用,就讲这些,下篇接着讲。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: