一、需求
在项目中充斥着多种日志框架,使用混乱,要求整理统一一种日志框架。
二、现状
1、项目组内的代码大多直接使用的Log4j的API,有的也使用slf4j的API调用。
2、使用maven的包依赖检查可以看到整个项目依赖包中包含三种日志框架,分别是log4j、logback、common-logging.
三、解决方案
在这种情况下,要想统一日志框架,需解决两个问题:
1、旧有代码兼容:如果逐个修改直到使用统一的日志框架是非常耗时的,也不可能做到(因为有依赖包的存在)
2、统一日志框架选择:如果不考虑性能等因素,任何一个日志框架均可。
综合以上考虑,使用slf4j+logback组合
slf4j框架:可以让我们与具体日志框架分离,且其自带的桥接包模块可以帮助我们从其他日志框架平稳切换。
logback:与slf4j良好兼容,完美的性能、支持、功能等,更重要的是我曾经也在log4j上有过血的教训。
四、参考文档
slf4j官网:http://www.slf4j.org/
slf4j用户手册:http://www.slf4j.org/manual.html
slf4j桥接包:http://www.slf4j.org/legacy.html
logback官网:http://logback.qos.ch/
logback介绍及使用方法:http://blog.csdn.net/zgmzyr/article/details/8267072
logback相比较于log4j的优势:http://www.oschina.net/translate/reasons-to-prefer-logbak-over-log4j