日志的接口层、抽象层 | 日志的实现 |
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 }