Spring Boot之日志框架(slf4j)

Spring Boot选用的是slf4j(日志的抽象层)和logback(日志的实现)。

  1. 如何在系统中使用slf4j?
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class HelloWorld {
  public static void main(String[] args) {
    Logger logger = LoggerFactory.getLogger(HelloWorld.class);
    logger.info("Hello World");
  }
}

如图示:
Spring Boot之日志框架(slf4j)_第1张图片
每一个日志的实现框架都有自己的配置文件,使用slf4j以后,配置文件仍是做成日志实现框架自己本身的配置文件。
2. 将系统中的所有日志统一到slf4j:
(1)排除系统中会其他的日志框架;
(2)用中间包替换原有的日志框架;
(3)导入slf4j的其他实现。
如图:
Spring Boot之日志框架(slf4j)_第2张图片
3. 日志级别:

	//日志记录器
    Logger logger = LoggerFactory.getLogger(getClass());

    @Test
    public void contextLoads() {
        //日志级别由低到高:trace
        logger.trace("---------------trace:"); //跟踪轨迹
        logger.debug("---------------debug:");
        logger.info("---------------info:");
        logger.warn("---------------warn:");
        logger.error("---------------error:");
    }

Spring Boot默认是info级别的。
日志配置示例:
application.properties:

#调整包com.sdn的日志级别为trace
logging.level.com.sdn = trace

#不指定路径默认在当前项目下生成springboot.log日志文件
#logging.file=springboot.log

#在当前磁盘的根路径下创建spring文件夹和里面的log文件夹,使用spring.log作为默认文件
logging.path=/spring/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

日志输出格式参数说明:
%d:日期时间,
%thread:线程名,
%-5level:级别从左显示5个字符宽度
%logger{50}:logger名字最长50个字符,否则按照句点分割。
%msg:日志消息,
%n:换行符

你可能感兴趣的:(Spring,Boot,Spring,Boot,日志)