tomcat 8.5 也有同样的问题。*
我听从了 rod.poli.diniz 的建议,做了以下事情:
在我的~/bash_profile中创建了一个环境变量
export CATALINA_LOGS_1=/home/user1/apps/logs/app1
在 tomcat <tomcat-base>/bin/setenv.sh 中添加了以下在 <tomcat-base>/conf/logging.properties 中标识的 JVM 参数。
-Dcatalina.logs=$CATALINA_LOGS_1
然后更新<tomcat-base>/conf/logging.properties。
1catalina.org.apache.juli.AsyncFileHandler.level = FINE
1catalina.org.apache.juli.AsyncFileHandler.directory = ${catalina.logs}/catalina
1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.
2localhost.org.apache.juli.AsyncFileHandler.level = FINE
2localhost.org.apache.juli.AsyncFileHandler.directory = ${catalina.logs}/catalina
2localhost.org.apache.juli.AsyncFileHandler.prefix = localhost.
3manager.org.apache.juli.AsyncFileHandler.level = FINE
3manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.logs}/catalina
3manager.org.apache.juli.AsyncFileHandler.prefix = manager.
4host-manager.org.apache.juli.AsyncFileHandler.level = FINE
4host-manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.logs}/catalina
4host-manager.org.apache.juli.AsyncFileHandler.prefix = host-manager.
结果:
在<tomcat-base>/logs/:
catalina.out
localhost_access_log.2019-04-12.txt
tomcat.pid
在$CATALINA_LOGS_1:
catalina.2019-04-12.log
host-manager.2019-04-12.log
localhost.2019-04-12.log
manager.2019-04-12.log
预期:
在<tomcat-base>/logs/:
tomcat.pid
在$CATALINA_LOGS_1:
catalina.out
localhost_access_log.2019-04-12.txt
catalina.2019-04-12.log
host-manager.2019-04-12.log
localhost.2019-04-12.log
manager.2019-04-12.log
解决办法:
使用以下内容更新<tomcat-base>/bin/setenv.sh:
mkdir -p $CATALINA_LOGS_1
CATALINA_OUT=$CATALINA_LOGS_1/catalina.out
更新<tomcat-base>/conf/server.xml 找到 AccessLogValve。替换directory="logs": --> directory="${cfrm.logs}"