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

1、将系统中其他日志框架先排除出去
2、用中间包来替代原有的日志框架
3、我们导入slf4j其他的实现

总结: 1.springboot底层也是使用slf4j+logback的方式进行日志记录。
2.springboot也把其他的日志都替换成了slf4j(原来的包名是不变的,但是在底层进行了偷梁换柱,变成了slf4j的内容)
3.如果我们要引用其他的框架,则一定要把这个框架的默认日志依赖排除掉;
例:Spring框架用的是commons-logging框架,但是它也是将它先进行排除的。新版的springboot 没有这个排除了。老版的有。
所以:SpringBoot能自动适配所有的日志,而且底层使用的是slf4j+logback的方式记录日志,引入其他框架的时候,只需把这个框架依赖的日志框架排除掉。

日志使用:

1.默认配置
springboot默认已经给我们配置好了日志,不需要导入jar包,直接使用就好了。在test类下写入如下代码:

@Test
void contextLoads() {
    /**
     * 日志的级别:由低到高
     * 可以调整输出日志的级别;日志就会只在这个级别及以后的高级别生效
     * springboot 默认级别是输出info的日志信息
     */
    logger.trace("这是trace日志。。。");
    logger.debug("这是debug日志。。。");
    logger.info("这是info日志。。。");
    logger.warn("这是warn日志。。。");
    logger.error("这是error日志。。。");
}

结果如下:

spring集成slf4j日志配置_spring集成slf4j日志配置


同时,我们可以通过配置文件来改变日志输出的等级:

spring集成slf4j日志配置_spring集成slf4j日志配置_02

com代表的是com包(可改)下面所有的日志输出都是warn级别。

测试结果:如图所示:

spring集成slf4j日志配置_日志输出_03

日志的输出位置

如果什么都不指定,那么他就只在控制台输出。如果是用

spring集成slf4j日志配置_spring_04


这样的话,他就可以在当前目录下进行生成了。但是,由于是在云端中使用,如果用jar进行打包的话,感觉效果不佳。

这个时候可以把它进行更改 改成完整的路径:

spring集成slf4j日志配置_日志输出_05


这样就在G:盘下面进行生成了。

还有一个设置

spring集成slf4j日志配置_日志框架_06


这个代表的是,项目所在路径下创建一个/spring文件,然后日志命名用默认的spring.io。