spring—log4j2.properties无法正确读取vmargument值

omvjsjqw  于 2021-10-10  发布在  Java
关注(0)|答案(1)|浏览(270)

在windows和linux服务器上运行的Tomcat8中实现了带有log4j2的SpringWeb应用程序。在windows server中,setenv.bat文件中指定了catalina_选项 set "CATALINA_OPTS=-DLOG_FOLDER=D:\apache-tomcat-9.0.22\customlog" log4j2.properties文件位于web inf\classes\config中\

appender.rolling.fileName=${sys:LOG_FOLDER}\logger.log
appender.rolling.filePattern=${sys:LOG_FOLDER}\logging-%d{MM-dd-yyyy}-%i.log.gz

在linux服务器中,setenv.sh文件中指定了catalina_选项 set "CATALINA_OPTS=-DLOG_FOLDER=/opt/tomcat01/customlog" log4j2.properties文件位于web inf\classes\config中\

appender.rolling.fileName=${env:LOG_FOLDER}/logger.log
appender.rolling.filePattern=${env:LOG_FOLDER}/logging-%d{MM-dd-yyyy}-%i.log.gz

日志文件夹总是像${env:log\u folder}或${sys:log\u folder}那样创建

3ks5zfa0

3ks5zfa01#

你应该使用 ${sys:LOG_FOLDER} 在这两种情况下: ${sys:property_name} 检索该名称的java系统属性, ${env:variable_name} 检索该名称的os环境变量。
有关更多详细信息,请参阅log4j 2查找。
配置中还存在其他问题:
如果在windows上启动tomcat作为服务, setenv.bat 没有使用。你应该加上 -DLOG_FOLDER=D:\apache-tomcat-9.0.22\customlog 到tomcat监视器应用程序的java选项卡( bin\tomcat<version>w.exe ).
在linux上,如果您使用错误的语法修改环境变量(microsoft的语法),请使用:

export CATALINA_OPTS="-DLOG_FOLDER=/opt/tomcat01/customlog"

相反
备注:如果要使用环境变量而不是系统属性,可以使用:

export LOG_FOLDER="/opt/tomcat01/customlog"

在linux上,而在windows上,您需要运行:

tomcat10.exe //US ++Environment="LOG_FOLDER=D:\apache-tomcat-9.0.22\customlog"

有关更多详细信息,请参阅ProRun文档。

相关问题