SpringBoot详解(三) 从入门到入土 (日志)

四、日志

1.日志框架

日志门面(抽象层 接口):SLF4j

日子实现(实现):Logback

2.SLF4j使用

1.如何在系统中使用SLF4j

在这里插入图片描述

在这里插入图片描述

如何让系统中所有的日志都统一到SLF4j

1.将系统中的其他框架先排除出去.

2.用中间包来替代原来的日志框架.

3.我们导入SLF4j其他的实现.

3.SpringBoot日志关系

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter</artifactId>
  <version>2.2.6.RELEASE</version>
  <scope>compile</scope>
</dependency>

SpringBoot使用它来做日志功能

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-logging</artifactId>
  <version>2.2.6.RELEASE</version>
  <scope>compile</scope>
</dependency>

底层依赖关系
在这里插入图片描述

总结:

1.SpringBoot底层用的是logback+log4j的方式进行日志记录

2.SpringBoot也把其他的日志都替换成了slf4j

3.中间包替换

4.如果我们要引入其他框架.一定要把这个框架的默认日志依赖移除

​ Spring框架用的是commons-logging;

4.日志的使用

1.默认配置

SpringBoot默认帮我们配置好了日志

@SpringBootTest
class SpringBoot03ApplicationTests {
    //记录器
   Logger logger = LoggerFactory.getLogger(getClass());//当前哪个类就是写哪个类
    @Test
    void contextLoads() {

        //日志的级别
        //由低到高可以调整输出的日志级别,日志只会从这个级别以后的高级别生效
        logger.trace("这是trace日志文件");
        logger.debug("这是debug日志");
        //默认使用info级别的
        logger.info("这是info日志");
        logger.warn("这个warn日志");
        logger.error("这是error日志");
    }

}
1. 日志输出格式:
2.%d表示日期时间,
3.%thread表示线程名,
4.%-5level:级别从左显示5个字符宽度
5.%logger{50} 表示logger名字最长50个字符,否则按照句点分割。 
6.%msg:日志消息,
7.%n是换行符
logging.pattern.console=%d{yyyy-MM-dd mm-ss} [%thread] %-5level %logger{50} - %msg%n

SpringBoot修改日志的默认配置

#将日志级别改成trace 高级别的日志信息都会输出
logging.level.com.xiaoming=trace
#不指定路径就是在当前目录下生成日志文件
#可以指定完整的路径

#logging.file.path=/yygamestore
#日志文件以什么名字在哪里生成
#logging.file.name=A1111.log //不规定则在项目根目录产生日志文件
logging.pattern.console=%d{yyyy-MM-dd} [%thread] %-5level %logger{50} - %msg%n
#在控制台
logging.pattern.file=%d{yyyy-MM-dd} [%thread] %-5level %logger{50} - %msg%n
#在文件里

下一篇学习
SpringBoot详解(四) 从入门到入土 (web开发)

猜你喜欢

转载自blog.csdn.net/weixin_45262118/article/details/108483787