Java日志框架演化历史
接口类:
SLF4J
J.C.L(commons-logging)实现类:
Log4j
J.U.L(jdk-logging)
Log4j2
Logback时间顺序从上至下:
J.U.L(jdk-logging) :Sun最早的日志实现Log4j:Apache最早的日志实现
J.C.L(commons-logging) :Apache推出的日志接口,门面模式
Slf4j(Simple Logging Facade for Java) :Log4j的作者 为了解决JCL的缺点而写,简单易用
Logback :Log4j的作者发明了Logback,做为Slf4j的默认实现。Logback在功能和性能上超越了所有已有的日志实现框架。
Log4j2:Apache重写了Log4j。在功能上面具有Logback的所有特性,算是目前功能最完善的日志框架。
日志引用
<!--日志依赖 SLF4J+LogBack-->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.29</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
log4j 日志详解
# 以下是rootLogger的配置,子类默认继承,但是子类重写下面配置=rootLogger+自己配置,我晕
#输出到控制台
log4j.appender.console=org.apache.log4j.ConsoleAppender
#设置输出样式
log4j.appender.console.layout=org.apache.log4j.PatternLayout
#日志输出信息格式为
log4j.appender.console.layout.ConversionPattern=[%-d{yyyy-MM-dd HH:mm:ss}]-[%t-%5p]-[%C-%M(%L)]: %m%n
#DEBUG以上级别输出,Threshold,入口,临界值
#log4j.appender.console.Threshold=DEBUG
#日志编码方式
#log4j.appender.console.Encoding=UTF-8
#是否立即输出
#log4j.appender.console.ImmediateFlush=true
#使用System.error作为输出
#log4j.appender.console.Target=System.error