由 log4j2 漏洞爆发引发的疑问,为什么这么多框架要引入 log4j2,不应该是仅引入 slf4j 吗

2021-12-13 01:30:14 +08:00
 jiangxin

可能之前未表述清楚,我认为最好的方式应该是框架引入 slf4j ,使用框架的项目引入 log4j2 或者其他实现

这个疑问之前就产生过,一直没有真正找寻过原因,此次核弹级漏洞引发整个圈内颤抖,是时候探究一下这个疑问了

7708 次点击
所在节点    程序员
30 条回复
blessingsi
2021-12-13 12:01:02 +08:00
理解楼主的问题。如果是一个纯框架 /库,应该是不需要引入具体实现的,但是实际跑在线上的应用,不可能不引入一个实际实现吧。log4j2 的性能确实比 logback 更好
FEINIAO233
2021-12-13 12:02:45 +08:00
@fighterhit springboot 默认使用的 logback 作为日志框架的实现
securityCoding
2021-12-13 12:25:18 +08:00
组件里面用 slf4j ,应用里面还是要引入底层实现包的
fighterhit
2021-12-13 14:08:00 +08:00
@FEINIAO233 那为啥还会用到 log4j-api 这个包呢?
0017
2021-12-13 15:15:41 +08:00
感觉 logback 用的更多?毕竟是默认的
fpure
2021-12-13 17:28:58 +08:00
@wineast log4j-to-slf4j 是用 slf4j 实现的对 log2j 的适配器,springboot 官方解释了没事的
jiangxin
2021-12-13 22:26:28 +08:00
@blessingsi 终于看到一个满意的答案了,还是要吐槽一些框架,明明没有独立运行的场景,还是引入了 log4j 。比如 mybatis
jiangxin
2021-12-13 22:27:14 +08:00
@muooOOO 过了这段魔鬼赛程,就能看出来能不能争冠了
guoli100
2021-12-13 22:45:49 +08:00
WeSoniC
2021-12-14 14:48:45 +08:00
Spring Boot 本身有一个快速上手的 Tag ,开发者并不需要去关心细枝末节,只要引入几个 xxx-starter ,写两行配置文件就可以开始搞业务代码,开发者并不需要关心日志实现是 log4j 还是 logback ,反正 TM 的能在终端看到输出就完事了。也就是说能够快速上手是因为有人帮你做了选择。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/821744

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX