SpringBoot整合日志

Java日志
日志的接口层、抽象层 日志的实现

JCL(Jakarta Commons Logging)

SLF4J(Simple Logging Facade for Java)

Jboss-Logging

Log4J

JUL(java.util.logging)

Log4j2

Logback

Sping框架默认使用JCL

SpingBoot框架默认使用SLF4J抽象层和Logback实现

(1)、pom导入日志依赖

1         <dependency>
2             <groupId>org.springframework.boot</groupId>
3             <artifactId>spring-boot-starter-logging</artifactId>
4         </dependency>

(2)、配置文件中配置日志

#配置指定类或命名空间的日志级别,SpringBoot默认info级别
logging.level.cn.coreqi = trace

#在当前磁盘的根路径下创建spring文件夹和log子目录,使用spring.log作为默认文件名称
logging.path=/spring/log

#指定日志文件的文件名称,可以指定完整的路径,不指定则默认在项目下生成
#logging.file=d:/springboot.log

#控制台日志输出格式
logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n

#文件日志输出格式
#logging.pattern.file=%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n

(3)、测试日志

 1 package cn.coreqi;
 2 
 3 import org.junit.Test;
 4 import org.junit.runner.RunWith;
 5 import org.slf4j.Logger;
 6 import org.slf4j.LoggerFactory;
 7 import org.springframework.boot.test.context.SpringBootTest;
 8 import org.springframework.test.context.junit4.SpringRunner;
 9 
10 @RunWith(SpringRunner.class)
11 @SpringBootTest
12 public class SpringbootLogApplicationTests {
13 
14     @Test
15     public void contextLoads() {
16         Logger logger = LoggerFactory.getLogger(getClass()); //声明日志记录器
17         logger.trace("这是trace日志");    //跟踪器日志
18         logger.debug("这是debug日志");  //调试日志
19         logger.info("这是info日志");    //自定义日志
20         logger.warn("这是warn日志");    //警告日志
21         logger.error("这是error日志");  //错误日志
22 
23         //日志级别由低到高 trace<debug<info<warn<error
24         //可以调整日志的输出级别,日志将在这个级别以后的高级别生效
25         //SpringBoot默认日志级别是root(info)级别
26     }
27 
28 }