一、Spring Boot使用的日志框架
Spring Boot 使用日志框架为 SLF4j和Logback。
二、如何在系统中使用SLF4j?
【1】开发过程中,日志方法的调用,不是直接调用日志的实现类,而是调用日志的抽象层里面的方法。
【2】每一个日志文件的实现框架都有一个自己的配置文件,使用SLF4j以后,配置问文件还是做成日志实现框架自己本身的配置文件。
三、怎么将其他日志框架统一转化为SLF4j?
【1】先将系统中的其他框架排除出去。
【2】使用中间包替换原有的日志框架。
【3】导入SLF4j其他的日志实现。
四、日志实现代码
①、Java代码查看日志信息。
package com.czd.springbootdemo;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest
public class SpringBootDemoApplicationTests {
@Test
public void testLog(){
//记录器
Logger logger = LoggerFactory.getLogger(getClass());
/**
* 以下是常用的日志方法
* 日志的级别:由低到高,设置日志级别,控制台只会输出此级别以及低于此级别的其他类型的日志。
*/
logger.trace("1.这是trace信息...");
logger.debug("2.这是debug信息...");
logger.info("3.这是info信息...");
logger.warn("4.这是warn信息...");
logger.error("5.这是error信息...");
}
}
②、application.yml设置日志等级,控制台只会输出此级别以及低于此级别的其他类型的日志。
logging:
level:
com.czd.springbootdemo: warn
五、在Spring Boot中的application.yml中设置日志输出位置
【1】logging.file: 如果不指定文件名称,使用默认的none的话,只会在控制台输出日志信息,若指定日志文件名称,则会在my.log类型的日志文件中打印出相应的日志信息,my.log存放位置是当前项目下的根目录,如下所示:
①、application.yml配置代码。
#当前项目下生成log日志
logging:
level:
com.czd.springbootdemo: warn
file: springboot.log
②、输出如下图片所示:
【2】logging.path,指定生成目录,而日志保存文件则使用Spring Boot默认的日志文件,如下所示:
①、application.yml配置代码。
#在指定路径下生成log文件
logging:
level:
com.czd.springbootdemo: warn
path: D:\WEKA
②、输出如下图片所示:
注意:若logging.path指定的目录一开始并不存在,Spring Boot会新创建此目录再把log日志文件放进去。