slf4j log4j logback
最先大家写日志都用log4j,后来作者勇于创新,又搞了个logback,又为了统一江湖,来了个slf4j,所以目前在代码中进行日志输出,推荐使用slf4j,这样在运行时,你可以决定到底是用log4j还是logback,根据他们不同的配置文件就可以搞定。
基本原理就是 slf4j --> adator --> log, 见下图:
但是对于之前的比较老的项目,还是在用log4j输出,是否有可能将其在不改动代码的前提下转到用logback输出了?
答案是有的,去掉运行时环境中的log4j的包和配置文件,在环境中添加logback的包和配置文件,关键点来了,还有在运行时环境中加入log4j-over-slf4j的包和slf4j-api的包。
原理还是adaptor,application --> log4j-over-slf4j (原来是log4j) --> slf4j-api --> logback,如下:
具体参见:https://www.slf4j.org/manual.html
https://www.slf4j.org/legacy.html
https://www.tuicool.com/articles/INveIf