mina中配置logback

mina中的日志LoggingFilter默认的是slf4j,它是一个日志Facade,实际并不实现真正的日志处理功能,它在程序运行时自动判断classpath中加载的日志组件,比如:log4j/Logback/JUL等,确定之后调用真正的日志组件实现真正的日志处理操作。这一点对于组件式的程序,很明显是非常灵活的,因为你并不知道用户的实际环境中使用的是log4j还是JUL,或者是Logback等,但是为了实现自动识别,slf4j默认了log配置文件的加载位置,让我觉得十分不便。

既然LoggingFilter默认的是slf4j,它在程序运行时自动判断classpath中加载的日志组件,那么下面就讲讲怎么将mina 由log4j桥接到logback。

第一步:将log4j的相关jar给去掉(log4j-1.2.15.jar,slf4j-log4j12-1.7.5.jar,commons-logging.jar)

第二步:导入logback和slf4相关jar(log4j-over-slf4j-1.7.7.jar,logback-core-1.1.2.jar,logback-classic-1.1.2.jar,slf4j-api-1.7.7.jar)

第三步:将你的log4j属性文件改为logback的xml文件 并放到src目录下面 可以通过这个地址直接将log4j属性文件转换为logback的xml文件

http://logback.qos.ch/translator/

以上三步做完基本ok了 中间不需要修改任何代码。有的弄完以后有可能会出现一下问题,大多都是包冲突造成比如:SLF4J: Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar on the class path, preempting StackOverflowError. SLF4J: See also http://www.slf4j.org/codes.html#log4jDelegationLoop for more details.就是包导错造成同时存在了slf4j-log4j12-1.7.5.jar和slf4j-log4j12-1.7.7.jar,删除slf4j-log4j12-1.7.7.jar就好了。仔细坚持一下你jar,跟我上面一致就没问题的。

为什么要从log4j桥接到logback?

当然是由于logback 在性能上优于log4j---具体看看这个博客 http://blog.csdn.net/lwzcjd/article/details/5617200

http://www.xuebuyuan.com/848261.html 


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值