Springboot日志-简单总结

三、Springboot日志-简单总结

1、日志框架

小张;开发一个大型系统;

1、System.out.println("");将关键数据打印在控制台;去掉?写在一个文件?

2、框架来记录系统的一些运行时信息;日志框架 ; zhanglogging.jar;

3、高大上的几个功能?异步模式?自动归档?xxxx? zhanglogging-good.jar?

4、将以前框架卸下来?换上新的框架,重新修改之前相关的API;zhanglogging-prefect.jar;

5、JDBC—数据库驱动; 写了一个统一的接口层;日志门面(日志的一个抽象层);logging-abstract.jar;

给项目中导入具体的日志实现就行了;我们之前的日志框架都是实现的抽象层;

市面上的日志框架:JUL、JCL、Jboss-logging、logback、log4j、log4j2、slf4j…

日志门面日志实现
JCL(Jakarta Commons Logging)、 SLF4j(Simple Logging Facade for Java) jboss-loggingLog4j 、JUL(java.util.logging) Log4j2 、Logback

左边选一个门面(其实就是抽象层)、右边来选一个实现;

日志门面: SLF4J

日志实现:Logback

SpringBoot:

​ 底层是Spring框架,Spring框架默认是用JCL;SpringBoot选用 SLF4j和logback

日志的选择

  1. 日志门面上 jboss-loggin,是因为其应用环境过于特殊
  2. JCL门面最后依次更新为2014年,社区不在活跃
  3. Logback是log4j的升级版,而且其作者也是写出了SLF4J的作者
  4. JUL是java核心工具包,在log4j之后出现,功能不强大
  5. Log4j2,是Apache开发的日志,功能强大,只是用了log4j的名字,但是市场占用低下

2.(SLF4j)日志门面和具体日志实现的层次关系

图示

在这里插入图片描述

所有日志应该去使用slf4j提供的日志层次,用抽象进行调用

遗留问题:

  1. 不同框架内置了不同的日志框架,怎么统一替换为统一的日志包

    继续导入对应的jar包做适配

    1、将系统中其他日志框架先排除出去;

    2、用中间包来替换原有的日志框架;

    3、我们导入slf4j其他的实现;

在这里插入图片描述

3.springboot与日志使用(上述理论的实现)

springboot-logging启动类

 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-logging</artifactId>
 </dependency>

项目依赖的图

springboot-loggin实现不同日志转换的代理
在这里插入图片描述

总结:

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

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

  3. 中间替换包

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

    SpringBoot能自动适配所有的日志,而且底层使用slf4j+logback的方式记录日志,引入其他框架的时候,只需要 把这个框架依赖的日志框架排除掉即可;

    <!-- spring-loggin进行替换 -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring‐core</artifactId>
        <exclusions>
            <exclusion>
                <groupId>commons‐logging</groupId>
                <artifactId>commons‐logging</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    

4.Springboot使用日志

  • 代码

    logger.trance("")

    **.debug("")

    **.info("")

    **.warn("")

    **.error("")

    这个也是日志的级别顺序,越靠下,级别越大。

    通过日志打印级别来控制需要打印的日志程度

  • 配置

    请看上面的标题的官方文档链接,会比较详细

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值