如何将log4j2配置文件添加为系统属性?

How to add log4j2 configuration file as system property?

我一直在尝试通过系统 属性 传递日志配置 url,但它导致了错误。

ERROR StatusLogger No logging configuration

我通过系统属性如下:

<sysproperty key="log4j.configurationFile" value="file:${_real_dir}/config/project.log4j2" />

这里project.log4j2是配置文件。我应该如何更改 sys属性 键才能使其正常工作?

这个documentation说的比较清楚——需要让配置类型的扩展名和文件格式匹配,这样工厂才能生成正确的配置解析器。

ConfigurationFactory 文档指出了 4 种日志文件格式:Json、XML、Yaml 和 属性 文件格式。

您需要使配置的文件扩展名与文件格式匹配,因此如果您的配置是 xml,则将文件扩展名设为 .xml,等等

因此,如果配置在 xml 中,您的系统属性应该如下所示:

<sysproperty key="log4j.configurationFile" value="file:${_real_dir}/config/project.log4j2.xml" />