Elasticsearch 可以热重载 log4j2.properties 吗?

Posted

技术标签:

【中文标题】Elasticsearch 可以热重载 log4j2.properties 吗?【英文标题】:Could Elasticsearch hot reload log4j2.properties? 【发布时间】:2022-01-16 02:46:57 【问题描述】:

我有一个使用了易受攻击的 log4j 的生产 elasticsearch

./lib/log4j-api-2.11.1.jar
./lib/log4j-core-2.11.1.jar

因为是生产环境,不想重启,看到有人说可以用下面的方式热重载

 you can still mitigate it in those cases by replacing %m, %msg, and %message in log4j2.xml with %mnolookups instead

在我的例子中,它使用 log4j2.properties,下面有一行

appender.console.layout.pattern = [%dISO8601][%-5p][%-25c1.] [%node_name]%marker %m%n

是否像下面这样修改这一行

appender.console.layout.pattern = [%dISO8601][%-5p][%-25c1.] [%node_name]%marker %mnolookups%n

而且不需要显式重启就可以自动生效?

【问题讨论】:

我不这么认为,你需要重新启动服务,此外,为了缓解 Log4Shell 漏洞,推荐的方法是使用配置为 -Dlog4j2.formatMsgNoLookups=true.options 文件。您可以在security announcement 中了解更多信息。 【参考方案1】:

Log4j2 没有默认启用热重新加载配置的文件监视器。您仍然必须重新启动服务器才能应用新模式。

【讨论】:

以上是关于Elasticsearch 可以热重载 log4j2.properties 吗?的主要内容,如果未能解决你的问题,请参考以下文章

Svelte 热重载问题

最新的.NET 热重载介绍

Flutter 总是重启而不是热重载

vue热重载

热重载不会热重载

vscode中的颤动热重载按钮不起作用