SpringBoot日志使用

日志框架分为日志门面(抽象层)和日志实现

必须要同时具有日志门面和日志实现

日志门面:SLF4j、Commons-Logging(Spring默认框架)

日志实现:Log4j、JUL(java.util.logging)、Log4j2、Logback

SpringBoot默认的日志框架是SLF4j+Logback

 

如果一个系统中整合了好几个框架,因为每个框架的默认日志框架不一样,所以需要对框架进行统一,而SpringBoot就自动对以上框架进行了统一,通过导入以下的整合包:

ul-to-slf4j、log4j-over-slf4j、jcl-over-slf4j

 

例子:

package com.atguigu.springboot;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)
@SpringBootTest
public class SpringBoot01HelloworldQuickApplicationTests {

    Logger logger= LoggerFactory.getLogger(getClass());

    @Test
    public void contextLoads() {
        //输出级别从低到高
        logger.trace("trace日志。。");
        logger.debug("debug日志。。");
        logger.info("info日志。。");
        logger.warn("warn日志。。");
        logger.error("error日志。。");
    }

}

控制台显示:

SpringBoot日志使用_第1张图片

没有打印出trace日志和debug日志是因为SpringBoot默认的日志输出级别是info级别,低于info级别的不输出,可以通过在配置文件中增加:

logging.level.com.atguigu=trace

就可以打印所有的日志消息。

还可以通过指定logging.file和logging.path,把日志输出到文件中,logging.file为日志文件名,logging.path为日志输出路径,如果两个都不指定值,那么只在控制台打印消息。

如指定:

logging.file=springBoot.log

那么能在程序根目录下找到这个日志文件

SpringBoot日志使用_第2张图片

另外,logging.patter.console可以指定在控制台输出的日志格式,logging.patter.file为日志文件中格式。

 

你可能感兴趣的:(SpringBoot)