spring5日志新特性详解

  • 前言

     大家都知道spring一直使用jcl作为日志框架,但是spring5在jcl的基础上自己做了优化,整理成了spring-jcl,接下来我就跟大家详细说一下spring5跟spring4的日志框架到底有何不同。

 

  • 正文

 首先在项目中引入spring4和log4j的依赖,发现打印出来的日志是log4j的日志。

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>4.3.14.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.17</version>
    </dependency>

再把spring4的依赖换成spring5的,可以发现打印出来的日志居然是jul的,这是为什么呢?我们来看底层源码,在打印的日志中我们可以看到,日志是通过AbstractApplicationContext.prepareRefresh()方法打印出来的,我们进这个方法看看:

可以看到spring4是通过这个Log对象打印的日志的,查看这个Log对象可以看到它是jcl:

所以spring4在引入log4j依赖的话就会以log4j的形式打印日志,对于jcl不太明白的童鞋可以看我上一篇关于Java日志的文章 。

接下来我们再来看spring5的源码,同样的我们看AbstractApplicationContext.prepareRefresh()这个方法:

同样的,我们看到方法并没有变化,唯一改变的就是Log对象的获得方式变了,我们继续看getLog(...)方法:

可以看到spring在这个方法中做了switch操作, 看到这里大家肯定觉得,第一个判断的是log4j对象啊,为什么log4就没起作用呢?不着急,我们继续往下看:

可以看到logApi默认的值是JUL,在这个静态代码块当中有对logApi进行赋值,可以看到这个并不是log4j而是log4j2, 所以当你引入log4j依赖的话,并不会起作用,而会使用默认的jul。

  •  总结

 spring4使用jcl,spring5使用的是spring-jcl,spring5在jcl基础上做了调整,不支持log4j,默认使用jcl去绑定jul来打印日志,如果要使用log4j,只能使用slf4j去绑定log4j。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
*******注意:由于资源较大,共分为三个分卷供下载!!*********** 编辑推荐 《轻量级Java EE企业应用实战(第3版):Struts 2+Spring 3+Hibernate整合开发(超值纪念版)》适合于有较好的Java编程基础,或有初步JSP、Servlet基础的读者。尤其适合于对Struts2、Spring、Hibernate了解不够深入,或对Struts2+Spring+Hibernate整合开发不太熟悉的开发人员阅读。 作者简介 李刚,从事10年的JavaEE应用开发。曾任LITEON公司的J2EE技术主管,负责该公司的企业信息平台的架构设计。曾任广州电信、广东龙泉科技等公司的技术培训导师。2007年3月26日的《电脑报》专访人物。现任新东方广州中心软件教学总监,并曾任广东技术师范学院计算机科学系的兼职副教授。培训的学生已在华为、立信、普信、网易、电信盈科、中企动力等公司就职。国内知名的高端IT技术作家,已出版《Spring2.0宝典》、《基于J2EE的Ajax宝典》、《轻量级J2EE企业应用实战》、《Struts2权威指南》、《RubyOnRails敏捷开发最佳实践》等著作。 目录 第1章JavaEE应用和开发环境 1.1JavaEE应用概述 1.1.1JavaEE应用的分层模型 1.1.2JavaEE应用的组件 1.1.3JavaEE应用结构和优势 1.1.4常用的JavaEE服务器 1.2轻量级JavaEE应用相关技术 1.2.1JSP、Servlet3.0和JavaBean及替代技术 1.2.2Struts2.2及替代技术 1.2.3Hibernate3.6及替代技术 1.2.4Spring3.0及替代技术 1.3Tomcat的下载和安装 1.3.1安装Tomcat服务器 1.3.2配置Tomcat的服务端口 1.3.3进入控制台 1.3.4部署Web应用 1.3.5配置Tomcat的数据源 1.4Eclipse的安装和使用 1.4.1Eclipse的下载和安装 1.4.2在线安装Eclipse插件 1.4.3从本地压缩包安装插件 1.4.4手动安装Eclipse插件 1.4.5使用Eclipse开发JavaEE应用 1.4.6导入Eclipse项目 1.4.7导入非Eclipse项目 1.5Ant的安装和使用 1.5.1Ant的下载和安装 1.5.2使用Ant工具 1.5.3定义生成文件 1.5.4Ant的任务(task) 1.6使用CVS进行协作开发 1.6.1安装CVS服务器 1.6.2配置CVS资源库 1.6.3安装CVS客户端 1.6.4发布项目到服务器 1.6.5从服务器下载项目 1.6.6同步(Update)本地文件 1.6.7提交(Commit)修改 1.6.8添加文件和目录 1.6.9删除文件和目录 1.6.10查看文件的版本变革 1.6.11提取文件以前版本的内容 1.6.12从以前版本重新开始 1.6.13创建标签 1.6.14创建分支 1.6.15沿着分支开发 1.6.16使用Eclipse作为CVS客户端 …… 第2章JSP/Servlet及相关技术详解 第3章Struts2的基本用法 第4章深入使用Struts2 第5章Hibernate的基本用法 第6章深入使用Hibernate 第7章Spring的基本用法 第8章深入使用Spring 第9章企业应用开发的思考和策略 第10章简单工作流系统
*******注意:由于资源较大,共分为三个分卷供下载!!*********** 编辑推荐 《轻量级Java EE企业应用实战(第3版):Struts 2+Spring 3+Hibernate整合开发(超值纪念版)》适合于有较好的Java编程基础,或有初步JSP、Servlet基础的读者。尤其适合于对Struts2、Spring、Hibernate了解不够深入,或对Struts2+Spring+Hibernate整合开发不太熟悉的开发人员阅读。 作者简介 李刚,从事10年的JavaEE应用开发。曾任LITEON公司的J2EE技术主管,负责该公司的企业信息平台的架构设计。曾任广州电信、广东龙泉科技等公司的技术培训导师。2007年3月26日的《电脑报》专访人物。现任新东方广州中心软件教学总监,并曾任广东技术师范学院计算机科学系的兼职副教授。培训的学生已在华为、立信、普信、网易、电信盈科、中企动力等公司就职。国内知名的高端IT技术作家,已出版《Spring2.0宝典》、《基于J2EE的Ajax宝典》、《轻量级J2EE企业应用实战》、《Struts2权威指南》、《RubyOnRails敏捷开发最佳实践》等著作。 目录 第1章JavaEE应用和开发环境 1.1JavaEE应用概述 1.1.1JavaEE应用的分层模型 1.1.2JavaEE应用的组件 1.1.3JavaEE应用结构和优势 1.1.4常用的JavaEE服务器 1.2轻量级JavaEE应用相关技术 1.2.1JSP、Servlet3.0和JavaBean及替代技术 1.2.2Struts2.2及替代技术 1.2.3Hibernate3.6及替代技术 1.2.4Spring3.0及替代技术 1.3Tomcat的下载和安装 1.3.1安装Tomcat服务器 1.3.2配置Tomcat的服务端口 1.3.3进入控制台 1.3.4部署Web应用 1.3.5配置Tomcat的数据源 1.4Eclipse的安装和使用 1.4.1Eclipse的下载和安装 1.4.2在线安装Eclipse插件 1.4.3从本地压缩包安装插件 1.4.4手动安装Eclipse插件 1.4.5使用Eclipse开发JavaEE应用 1.4.6导入Eclipse项目 1.4.7导入非Eclipse项目 1.5Ant的安装和使用 1.5.1Ant的下载和安装 1.5.2使用Ant工具 1.5.3定义生成文件 1.5.4Ant的任务(task) 1.6使用CVS进行协作开发 1.6.1安装CVS服务器 1.6.2配置CVS资源库 1.6.3安装CVS客户端 1.6.4发布项目到服务器 1.6.5从服务器下载项目 1.6.6同步(Update)本地文件 1.6.7提交(Commit)修改 1.6.8添加文件和目录 1.6.9删除文件和目录 1.6.10查看文件的版本变革 1.6.11提取文件以前版本的内容 1.6.12从以前版本重新开始 1.6.13创建标签 1.6.14创建分支 1.6.15沿着分支开发 1.6.16使用Eclipse作为CVS客户端 …… 第2章JSP/Servlet及相关技术详解 第3章Struts2的基本用法 第4章深入使用Struts2 第5章Hibernate的基本用法 第6章深入使用Hibernate 第7章Spring的基本用法 第8章深入使用Spring 第9章企业应用开发的思考和策略 第10章简单工作流系统
*******注意:由于资源较大,共分为三个分卷供下载!!*********** 编辑推荐 《轻量级Java EE企业应用实战(第3版):Struts 2+Spring 3+Hibernate整合开发(超值纪念版)》适合于有较好的Java编程基础,或有初步JSP、Servlet基础的读者。尤其适合于对Struts2、Spring、Hibernate了解不够深入,或对Struts2+Spring+Hibernate整合开发不太熟悉的开发人员阅读。 作者简介 李刚,从事10年的JavaEE应用开发。曾任LITEON公司的J2EE技术主管,负责该公司的企业信息平台的架构设计。曾任广州电信、广东龙泉科技等公司的技术培训导师。2007年3月26日的《电脑报》专访人物。现任新东方广州中心软件教学总监,并曾任广东技术师范学院计算机科学系的兼职副教授。培训的学生已在华为、立信、普信、网易、电信盈科、中企动力等公司就职。国内知名的高端IT技术作家,已出版《Spring2.0宝典》、《基于J2EE的Ajax宝典》、《轻量级J2EE企业应用实战》、《Struts2权威指南》、《RubyOnRails敏捷开发最佳实践》等著作。 目录 第1章JavaEE应用和开发环境 1.1JavaEE应用概述 1.1.1JavaEE应用的分层模型 1.1.2JavaEE应用的组件 1.1.3JavaEE应用结构和优势 1.1.4常用的JavaEE服务器 1.2轻量级JavaEE应用相关技术 1.2.1JSP、Servlet3.0和JavaBean及替代技术 1.2.2Struts2.2及替代技术 1.2.3Hibernate3.6及替代技术 1.2.4Spring3.0及替代技术 1.3Tomcat的下载和安装 1.3.1安装Tomcat服务器 1.3.2配置Tomcat的服务端口 1.3.3进入控制台 1.3.4部署Web应用 1.3.5配置Tomcat的数据源 1.4Eclipse的安装和使用 1.4.1Eclipse的下载和安装 1.4.2在线安装Eclipse插件 1.4.3从本地压缩包安装插件 1.4.4手动安装Eclipse插件 1.4.5使用Eclipse开发JavaEE应用 1.4.6导入Eclipse项目 1.4.7导入非Eclipse项目 1.5Ant的安装和使用 1.5.1Ant的下载和安装 1.5.2使用Ant工具 1.5.3定义生成文件 1.5.4Ant的任务(task) 1.6使用CVS进行协作开发 1.6.1安装CVS服务器 1.6.2配置CVS资源库 1.6.3安装CVS客户端 1.6.4发布项目到服务器 1.6.5从服务器下载项目 1.6.6同步(Update)本地文件 1.6.7提交(Commit)修改 1.6.8添加文件和目录 1.6.9删除文件和目录 1.6.10查看文件的版本变革 1.6.11提取文件以前版本的内容 1.6.12从以前版本重新开始 1.6.13创建标签 1.6.14创建分支 1.6.15沿着分支开发 1.6.16使用Eclipse作为CVS客户端 …… 第2章JSP/Servlet及相关技术详解 第3章Struts2的基本用法 第4章深入使用Struts2 第5章Hibernate的基本用法 第6章深入使用Hibernate 第7章Spring的基本用法 第8章深入使用Spring 第9章企业应用开发的思考和策略 第10章简单工作流系统

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值