日志组件一直混杂着用,感觉很模糊,梳理下。以下略去日志配置文件,配置文件有很多优秀博客可参考。
1.log4j
Apache的开源项目,是一个功能强大的日志组件,提供方便的日志记录
依赖:
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
写法
导入:import org.apache.log4j.Logger;
定义:private static Logger log4j = Logger.getLogger(Log4jRef.class);
2.logback
LogBack是由log4j的创始人开发的一个日志组件,用于替代log4j。
依赖:
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>${logback.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${logback.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-access</artifactId>
<version>${logback.version}</version>
</dependency>
<!-- slf4j依赖 -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.12</version>
</dependency>
写法
导入:import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
定义:private final static Logger logback = LoggerFactory.getLogger(LogBackRef.class);
说明: SLF4J,即简单日志门面(Simple Logging Facade for Java),不是具体的日志解决方案,可作为各类日志系统的门面。
3.log4j2
log4j2是log4j 1.x和logback的改进版
依赖:
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.5</version>
</dependency>
写法
导入:import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;
定义:private static Logger log4j2 = LogManager.getLogger(Log4j2Ref.class);
完整代码:
github: https://github.com/yranx/quickx/tree/master/xlogs
参考(感谢):
https://www.cnblogs.com/lzb1096101803/p/5796849.html
https://blog.csdn.net/yjh1271845364/article/details/70888262
https://www.cnblogs.com/warking/p/5710303.html
https://www.jianshu.com/p/b3dedb8fb61e