一、入门介绍
log4j
apache实现的一个开源的日志组件
slf4j
日志接口即为所有日志框架制定的一种规范的标准接口,并不是一个框架的具体实现,需要配合具体的日志框架使用(如log4j2、logback)
logback
由log4j作者设计的基于slf4j实现的用于取代log4j的一个新的日志框架
而我们即将介绍的log4j2则是基于logback和log4j1.x的改进版,采用了无锁异步等技术使日志的吞吐量和性能较log4j 1.x提升将近10倍,并且在配置方面更为灵活。
二、使用示例
1、引入maven依赖
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <groupId>com.weidai.work.zm</groupId>
<artifactId>log4j2-learn</artifactId>
<version>1.0-SNAPSHOT</version> <properties>
<junit.version>3.8.1</junit.version>
<log4j.version>2.5</log4j.version>
</properties>
<!-- 使用aliyun镜像 -->
<repositories>
<repository>
<id>aliyun</id>
<name>aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</repository>
</repositories> <dependencies>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>${log4j.version}</version>
</dependency>
</dependencies>
</project>
2、测试代码
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; /**
* @author : zhangyanqing
* @time : 2017/12/9
* @desc : log4j2测试
*/
public class LoggerTest {
public static final Logger LOGGER = LogManager.getLogger(LoggerTest.class);
public static void main(String[] args){
LOGGER.trace("trace level");
LOGGER.debug("debug level");
LOGGER.info("info level");
LOGGER.warn("warn level");
LOGGER.error("error level");
LOGGER.fatal("fatal level"); } }
执行结果截图
对执行结果进行分析可知在没有配置文件的情况下log4j2默认的日志输出级别为error只输出error和fatal级别的日志