文档章节

让 Spring Framework 依赖 SLF4J 的 Maven 配置

张前程
 张前程
发布于 2013/12/30 01:51
字数 291
阅读 7220
收藏 16

Spring Framework 一直以来都是依赖 commons-logging,通过在 Maven pom.xml 进行配置,可以让 Spring Framework 依赖于越来越流行的 SLF4J,这是利用了 slf4j.org 提供的 jcl-over-slf4j 把 commons-logging API 转接到 SLF4J API 上实现的,这不就是移花接木吗?

1. 让 spring-context 排除对 commons-logging 的依赖

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>${spring-version}</version>
    <scope>runtime</scope>
    <exclusions>
	<exclusion>
	    <artifactId>commons-logging</artifactId>
	    <groupId>commons-logging</groupId>
	</exclusion>
    </exclusions>
</dependency>

2. 添加 slf4j-api 和 jcl-over-slf4j 配置

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>${slf4j-version}</version>
    <scope>runtime</scope>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>jcl-over-slf4j</artifactId>
    <version>${slf4j-version}</version>
    <scope>runtime</scope>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>${slf4j-version}</version>
    <scope>runtime</scope>
</dependency>

slf4j-simple 是一个简单的 SLF4J API 实现,它直接向 System.err 输出日志内容,适用于简单应用。

补充说明:目前 Spring Framework 的最新版本是 4.0.0.RELEASE,SLF4J 的最新版本是 1.7.5。

3. SLF4J 官方的“移花接木”方案图

 

© 著作权归作者所有

共有 人打赏支持
张前程
粉丝 5
博文 22
码字总数 14281
作品 0
南京
程序员
私信 提问
Spring3 MyBatis3 日志配置

//org.apache.ibatis.logging.LogFactory; static { } 查看Mybatis源码发现,他日志框架的寻找顺序:slf4j-->commons logging-->log4j 不能直接引入log4j jar包,因为即使我不导入slf4j的包,...

xingda
2012/04/17
0
0
hibernate 不输出sql参数的解决

我的一个项目(spring hibernate cxf)使用slf4j + log4j 来输出日志,按说只要配置上 log4j.logger.org.hibernate.type.descriptor.sql.BasicBinder=TRACE 即可实现hibernate中sql参数的输出,...

since1986
2011/11/27
0
0
[spring-framework] 定时器配置和使用(补充篇)

前面已经介绍过spring中定时器的配置和使用了,但楼主在使用spring 4.2.0包时才发现,原来新版的spring中对定时器的配置和老版本的配置略有不同。 spring 3.8.0定时器配置详见: spring-fram...

LSantorini
2015/11/22
0
0
把日志从log4j转换成logback的经历

起因 我们的系统上了dubbo,dubbo默认就使用的log4j1.x,之前一直用的好好的,突然有一天发现报表服务不响应请求了,但是进程并没有挂,CPU、内存都正常,最后通过jstack发现是日志的线程死锁...

梦孤
2017/11/08
0
0
Apache MINA --- [简易入门]

Apache MINA是一个网络应用程序框架,它用来帮助我们轻松的建立高性能的,高可扩展的网络应用程序.它为各种传输(比如TCP/IP,UDP/IP)提供了抽 象的,事件驱动的,异步的API.它也常常被被称作"NIO框...

moonsnake777
2016/05/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

错误: 找不到或无法加载主类

在IDEA的使用过程中,经常断掉服务或者重启服务,最近断掉服务重启时突然遇到了一个启动报错: 错误:找不到或无法加载主类 猜测:1,未能成功编译; 尝试:菜单---》Build---》Rebuild Pro...

安小乐
14分钟前
1
0
vue路由传参,刷新页面,引发的bug

最近遇到一个bug 通过vue路由跳转到页面, 然后接参控制(v-if ),成功显示 而刷新页面,显示失败。 苦苦地找了半天原因,打印参数发现正确,再打印下类型......,路由跳过来会保持传参时的...

hanbb
14分钟前
0
0
【58沈剑 架构师之路】InnoDB,select为啥会阻塞insert?

MySQL的InnoDB的细粒度行锁,是它最吸引人的特性之一。 但是,如《InnoDB,5项最佳实践》所述,如果查询没有命中索引,也将退化为表锁。 InnoDB的细粒度锁,是实现在索引记录上的。 一,Inn...

张锦飞
17分钟前
0
0
冒泡,选择和插入排序比较

/** * 冒泡排序,两层嵌套循环,内层局部比较后,找出最大或者最小数据并交换数据,使其局部有序,外层用于比较剩余元素,相较于选择排序,选择排序相当于是冒泡的一个优化版本(减少了交换...

strict_nerd
18分钟前
0
0
html内联(行内)元素、块级(块状)元素和行内块元素分类

HTML可以将元素分类方式分为内联(行内)元素、块级(块状)元素和行内块元素三种。 注:HTML是标签语言,那么既然是标签,就可以自己定义一些自己元素(如<wode>自定义的元素</wode>等),自...

NB-One
24分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部