Spring Boot笔记四:日志框架介绍

  我是一名程序员,我喜欢写System.out.println来打印一些重要的信息...后来我学了面向对象,我把这些输出语句整合到了一个工具类里面,可以打印,也可以保存日志。

  我是一名积极思考的程序员,我经常迭代我的工具类jar包,这样项目引用的时候需要修改一些东西,比如我最开始是工具类1.0版本.jar,后来我升级到了工具类2.0版本.jar.....

  项目引用的API啥的需要修改,每次都修改烦不烦?

  我是一名实力不断提升的程序员,我设计了一个日志工具的接口,只要实现我这个接口,不管你什么工具类版本多少,符合接口规范都OK。

  日志框架出现了,分为两种:

  1.日志门面:相当于军队的谋士,我只负责充门面,出谋划策,水攻火攻空城计,但是我不做,你找人去做

  2.日志实现:相当于军队的士兵,我不管啥计策水啊火啊东风啊,我只需要你告诉我,我去干,我去放火,放水,借诸葛亮...

  现在的日志框架门面和实现大概有以下几种:

  1.日志门面:SLF4j , JCL ,jboss-logging

  2.日志实现:Logback , log4j ,JUL ,log4j2

  红色部分是同一个人做的,而且是比较优秀的,所以我们就采用这个人做的,门面用SLF4j,实现有俩,因为Logback是因为log4j某些性能问题而新写的一个实现,所以我们使用logback

  Spring默认使用的是JCL

  而我们的Spring Boot采用的是SLF4j和Logback,还不错。

  我们现在已经确定了,我们日志门面和实现就是使用这俩了,但是我们在工作中啊,那些项目里面的Spring,Mybaties啥的,他们都有各自的日志门面啊,都不是SLF4j,这样的话我还是要去熟悉他们的日志门面,这不智障吗?

  恩,这个严峻的问题已经被解决了,比如项目里面使用的是JCL,有一个jar包是JCL-over-SLF4j ,就是还是JCL里面的方法,但是实现调用的是SLF4J,真是不错啊。

 

  Spring Boot会自动的把所有的其它日志框架给偷梁换柱到SLF4j,所以我们再引入其它的工具,例如Mybaties啥的,只需要把他们的日志框架给排除掉就行,剩下的,Spring Boot已经全部帮你做好了。

  待续

猜你喜欢

转载自www.cnblogs.com/yunquan/p/10336405.html
今日推荐