可能之前未表述清楚,我认为最好的方式应该是框架引入 slf4j ,使用框架的项目引入 log4j2 或者其他实现
这个疑问之前就产生过,一直没有真正找寻过原因,此次核弹级漏洞引发整个圈内颤抖,是时候探究一下这个疑问了
这个疑问之前就产生过,一直没有真正找寻过原因,此次核弹级漏洞引发整个圈内颤抖,是时候探究一下这个疑问了
|
aliensbDec 13, 2021 via Android
1
Slf4j 是门面,具体实现是 log4j2
|
|
dreamramonDec 13, 2021
3
log4j2 的异步性能高啊
|
|
shyangsDec 13, 2021
4
平行宇宙.
React 框架統治了 Java 王國. 你永遠都有選擇的自由. Browserify/Grunt/Gulp/Webpack Redux/Mobx/Recoil Redux-saga/Dva material/antd/bootstrap less/sass/postcss/css in js |
|
shyangsDec 13, 2021
5
[現在的前端技術棧真的太惡心了!]( https://www.v2ex.com/t/821702 )
|
|
seaswalkerDec 13, 2021
6
看到车仔就进来了
|
|
7
log4j 好用且性能高啊。从这次漏洞就能看得出来,log4j 真的是只有你想不到,没有他做不到呢。
|
|
chendyDec 13, 2021
9
spring-boot 如果不自己动的话是 logback
印象里只有 elasticsearch 是绑定 log4j2 的,毕竟有独立运行的需求,不能只有一个 slf4j |
|
muooOOODec 13, 2021 via Android
10
我车已崩
|
|
fpureDec 13, 2021
11
log4j 可以用 slf4j 桥接器换掉
|
|
jimmyismagicDec 13, 2021
12
log4j2 性能更好,我们 springboot 项目都要它
|
|
wineastDec 13, 2021
14
奇怪的是,我们用的是默认 springboot ,理论上应该用的是 logback 。但上周排查 进行依赖扫描的时候发现 log4j-api 被 log4j-to-slf4j,然后被 spring-boot-starter-logging 引入了,还是要修
如下: | | | +--- org.springframework.boot:spring-boot-starter-logging:2.3.6.RELEASE | | | | +--- ch.qos.logback:logback-classic:1.2.3 | | | | | +--- ch.qos.logback:logback-core:1.2.3 | | | | | \--- org.slf4j:slf4j-api:1.7.25 -> 1.7.30 | | | | +--- org.apache.logging.log4j:log4j-to-slf4j:2.13.3 | | | | | +--- org.slf4j:slf4j-api:1.7.25 -> 1.7.30 | | | | | \--- org.apache.logging.log4j:log4j-api:2.13.3 |
|
FEINIAO233Dec 13, 2021
15
@wineast 只有 log4j-api 一个依赖没事的,漏洞的代码在 log4j-core 包里
|
|
kilala2020Dec 13, 2021
16
我也一直有这个疑惑,为什么这么整齐划一的搞 log4j2?
|
|
wineastDec 13, 2021
18
@FEINIAO233 感谢,客户那里用的扫描工具,都是直接扫关键词的,扫到了就要我们整改,现在还得排包
|
|
fighterhitDec 13, 2021
19
@FEINIAO233 log4j-api 也只是接口吗?那最终实现调的什么?
|
|
20
spring boot 本身就是开箱即用的框架,默认就有日志组件的实现。一键启动,该配的都帮你配好了。
|
|
blessingsiDec 13, 2021 via Android
21
理解楼主的问题。如果是一个纯框架 /库,应该是不需要引入具体实现的,但是实际跑在线上的应用,不可能不引入一个实际实现吧。log4j2 的性能确实比 logback 更好
|
|
FEINIAO233Dec 13, 2021
22
@fighterhit springboot 默认使用的 logback 作为日志框架的实现
|
|
securityCodingDec 13, 2021 via Android
23
组件里面用 slf4j ,应用里面还是要引入底层实现包的
|
|
fighterhitDec 13, 2021 via iPhone
24
@FEINIAO233 那为啥还会用到 log4j-api 这个包呢?
|
|
0017Dec 13, 2021
25
感觉 logback 用的更多?毕竟是默认的
|
|
27
@blessingsi 终于看到一个满意的答案了,还是要吐槽一些框架,明明没有独立运行的场景,还是引入了 log4j 。比如 mybatis
|
|
guoli100Dec 13, 2021
29
|
|
WeSoniCDec 14, 2021
30
Spring Boot 本身有一个快速上手的 Tag ,开发者并不需要去关心细枝末节,只要引入几个 xxx-starter ,写两行配置文件就可以开始搞业务代码,开发者并不需要关心日志实现是 log4j 还是 logback ,反正 TM 的能在终端看到输出就完事了。也就是说能够快速上手是因为有人帮你做了选择。
|