Java日志(三):slf4j(simple logging facade for java)简单日志门面

slf4j是一个facade门面,并不设计具体的日志输出。下面举个例子说明:
先假设你知道log4j或者其他日志工具有个打印日志的方法logger.info(msg),如果直接使用log4j或者其他日志工具,只需要在需要打印日志的时候调用其logger.info(msg),这里的logger对象是属于log4j或者其他实际打印日志的工具。

问题来了,假如我们代码已经使用log4j的logger对象打印日志,当项目变化时想要改用其他日志工具比如jui或者logback等等,这时候不单是把log4j的jar包换成其他的,还要找出所有log4j打印日志的方法全部用其他工具方法改写,对于切换日志工具来说及其繁琐。而且,项目的变化和技术的变化可能就带来这种日志工具的改变。

slf4j为日志工具切换提供解决方案:
在这里插入图片描述
如上图所示,最顶层的slf4j-api门面提供了一套打印日志的API规范,比如slf4jLogger.info("msg"),最底层是某个日志工具比如log4j的打印日志的具体实现,而中间是slf4j和log4j两者的适配器,这个适配器所作的工作大概如下伪代码所示:

        public void info1(String msg){
            //调用slf4j-log4j的适配器
            log4j_adapter.info2(msg);
        }

        /*
         * 适配器把slf4j API方法的参数调整为符合log4j的参数,
         
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值