如何将 log4j2.xml 传递给 Tomcat 应用程序

How pass log4j2.xml to Tomcat application

我有 运行 在 Tomcat 8 服务器上的应用程序。 应用程序使用 log4j2 进行内部日志记录。 我想要一个 application.war 和两个不同的日志配置文件,例如: log4j2_dev.xml 和 log4j2_prod.xml 取决于环境。

在生产环境中我想部署 application.war 并使用 log4j2_prod.xml 在开发环境中,我想部署 application.war 并使用 log4j2_dev.xml

那么,我如何指定在 application.war 部署期间使用哪个文件?

PS。 我不想建立两场不同的战争 application_prod.war 和 application_dev.war 内部配置不同。

也许您可以在构建中指定要使用的配置文件?

例如-Dlog4j.configurationFile={path to file},其中路径将由构建 dev 或 prod 确定?

$CATALINA_BASE/bin/setenv.sh 文件中,我添加了以下行:

export LOG4J_CONFIGURATION_FILE=/dev/log4j2_dev.xml