log4j2 2.18 升级问题

收到漏洞预警 说版本log4j2  2.17以下存在安全漏洞,要求升级log4j 到最高版本2.18

只能说是坑呀   升级后就报错 Script support is not enabled  查看源码发现

log4j2 2.18 升级问题_第1张图片

scriptManager这个为空了,继续点进去看发现是在这里初始化的

log4j2 2.18 升级问题_第2张图片

对比2.17的源码发现:

2.17这里的源码是scriptManager = new ScriptManager(this, watchManager); 

2.18是scriptManager = new ScriptManager(this, watchManager, scriptLanguages);

这里多了一个参数scriptLanguages;查看源码得知这个参数是从配置文件里面得来的:

log4j2 2.18 升级问题_第3张图片

全局搜索发现这个配置文件不存在log4j2.component.properties 

仔细查看源码得知这个配置文件里面配置的这个参数的意思是 scrip里面的language必须在配置文件里面

log4j2 2.18 升级问题_第4张图片

 

解决办法:

既然没有就造一个吧 ,在resources下创建一个log4j2.component.properties的配置文件

文件;

log4j2 2.18 升级问题_第5张图片

log4j2 2.18 升级问题_第6张图片 

 加上后完美运行

你可能感兴趣的:(log4j,java,开发语言)