在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}那样创建
1条答案
按热度按时间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的语法),请使用:
相反
备注:如果要使用环境变量而不是系统属性,可以使用:
在linux上,而在windows上,您需要运行:
有关更多详细信息,请参阅ProRun文档。