Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring 在运行时动态设置Log4j2配置文件位置_Spring_Properties_Configuration_Runtime_Log4j2 - Fatal编程技术网

Spring 在运行时动态设置Log4j2配置文件位置

Spring 在运行时动态设置Log4j2配置文件位置,spring,properties,configuration,runtime,log4j2,Spring,Properties,Configuration,Runtime,Log4j2,我正在尝试配置Log4j2,以便从deployed.war外部的属性文件中获取配置文件位置。我需要在运行时设置外部属性文件的位置,以便将以下-D参数传递给Tomcat: -Dapplication.home=file:///C:/dev/env1-home 我在上面列出的env1主目录中有一个application.properties文件,spring容器将获取各种属性并在整个应用程序中使用。其中一个属性是: application.log4j.config=C:/dev/env1-home

我正在尝试配置Log4j2,以便从deployed.war外部的属性文件中获取配置文件位置。我需要在运行时设置外部属性文件的位置,以便将以下-D参数传递给Tomcat:

-Dapplication.home=file:///C:/dev/env1-home
我在上面列出的env1主目录中有一个application.properties文件,spring容器将获取各种属性并在整个应用程序中使用。其中一个属性是:

application.log4j.config=C:/dev/env1-home/log4j2.xml
我希望将该应用程序文件属性提供给web.xml中的上下文参数,但web.xml中的值如下:

  <context-param>
    <param-name>log4jConfiguration</param-name>
    <param-value>$${sys:application.log4j.config}</param-value>
  </context-param>
ERROR StatusLogger Unable to access file:/C:/dev/Tomcat/apache-tomcat-8.5.31-8090/bin/$%7Bsys:application.log4j.config%7D
 java.io.FileNotFoundException: C:\dev\Tomcat\apache-tomcat-8.5.31-8090\bin\${sys:application.log4j.config} (The system cannot find the file specified)
...