SpringBoot 项目中的日志不会选型?带你认识主流日志框架,教你轻松切换日志框架
日志框架
日志门面:slf4j
日志实现:LogbackSpringBoot 选用的是 slf4j 和 Logback
slf4j 的使用
如何在系统中使用 slf4j:1.日志记录方法的调用,不应该调用日志实现类,应该调用日志抽象层里面的方法。给系统导入 slf4j 的 jar 和 Logback 的实现 jar。2.每一个日志的实现框架都有自己的配置文件。使用 slf4j 以后,配置文件还是使用日志实现框架的配置文件。
问题:使用 slf4j+logback 需要统一转换日志记录,别的框架使用其它日志框架的需要一起使用 slf4j 进行输出:1.将系统中的其他框架日志先替换出去,2.用面向 slf4j 的 jar 替换原有的日志框架,3.导入 slf4j 的 jar 和 Logback 的实现 jar。
SpringBoot 日志关系
SpringBoot 底层也是使用 slf4j+logback 的方式进行日志记录
SpringBoot 将其它日志都替换成 slf4j
如果需要引入其它框架,一定要把这个框架的默认日志框架依赖移除。SpringBoot 能自动适配所有的日志,而且底层使用的是 slf4j+logback 的方式记录日志,引入其它框架的时候,只需要将这个框架依赖的日志框架排除掉即可。
日志使用
默认配置
指定配置给类路径下放上每个日志框架指定的配置文件,SpringBoot 就不使用本身默认的配置。
logback.xml:会直接被日志框架识别加载
logback-spring.xml (推荐):日志框架不能直接加载日志配置项,由 springBoot 解析日志配置只使用 SpringBoot 高级功能 SpringProfile,就可以通过
设置指定某段配置只在某个环境下生效
切换日志框架
可以按照 slf4j 的日志适配图进行相关的切换-替换加引入
切换 log4j2:由于 SpringBoot 底层有 log4j2 的框架,只要在依赖中排出之前的 starter-logging 依赖。
版权声明: 本文为 InfoQ 作者【攻城狮Chova】的原创文章。
原文链接:【http://xie.infoq.cn/article/c09adf8d16874b8ed769da134】。文章转载请联系作者。
评论