市面上的日志框架如下
JUL、JCL、Jboss-loging、Logback、log4j、log4J2、slf4j这些日志框架大致可分为日志抽象和日志的实现
日志抽象层 | 日志实现层 |
---|---|
JCL(Jackrta Commons Logging)、SLF4j(simple Logging Facade java)、 Jboss-logging | Log4j、JUL(java.util.logging)、log4j2、logback |
Spring Boot选择SLF4J和Logback作为日志框架
1、SLF4J使用
以后开发的时候,日志记录方法的调用使用抽象层的方法,而不是使用实现层的方法
2、spring Boot的日志关系
springboot做了转换,使spring Boot的项目都使用SLF4J+Logback作为日志框架
3、日志使用
创建spring Boot的项目
配置相关的日志配置
logging:
#指定日志输出级别
level:
com.learn.learnspringboot: info
file: procLogger/springboot.log
pattern:
#指定控制台日志输出格式
console: %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
#指定文件中的日志输出格式
file: %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
#logging.file不指定路径在当前项目下生成日志,也可以指定路径
#logging.path指定路径后,使用spring.log作为默认文件
编写测试代码
@Test
public void tesLogin() {
/*
* 日志级别
* 由高到低 trace<debug<info<warn<error
* 可以调整日志级别;日志只会在这个级别及以后更高的级别生效
* */
logger.trace("这是trace日志");
logger.debug("这是debug日志");
//spring boot 默认级别是info
logger.info("这是info日志");
logger.warn("这是warn日志");
logger.error("这是error日志");
}
4、指定配置
给类路径下放上每个日志框架自己的配置文件即可;springBoot就不用使用默认的配置了
Logging System | Customization |
---|---|
Logback | Logback-spring.xml,Logback-spring.groovy,logback.xml, logback.groovy |
Log4j2 | log4j2.xml, log4j2-spring.xml |
java.Util.logging | logging.properties |