如何让系统中所有的日志都统一到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日志。。。");
}
结果如下:
同时,我们可以通过配置文件来改变日志输出的等级:
com代表的是com包(可改)下面所有的日志输出都是warn级别。
测试结果:如图所示:
日志的输出位置
如果什么都不指定,那么他就只在控制台输出。如果是用
这样的话,他就可以在当前目录下进行生成了。但是,由于是在云端中使用,如果用jar进行打包的话,感觉效果不佳。
这个时候可以把它进行更改 改成完整的路径:
这样就在G:盘下面进行生成了。
还有一个设置
这个代表的是,项目所在路径下创建一个/spring文件,然后日志命名用默认的spring.io。