我需要这样的东西:
"参数名称="文件" 值="${CATALINA_HOME}/logs/log4j.log"
我看到了很多类似的问题,但没有有效的解决方案。
对于 Tomcat 6.0 或更高版本的使用catalina.base
(而不是catalina.home
):
param name="File" value="${catalina.base}/logs/log4j.log"
根据主机系统,两者可能不同,例如:
catalina.home: /usr/share/tomcat7
catalina.base: /var/lib/tomcat7
下面catalina.home
是bin
文件夹。
下面catalina.base
有conf
、logs
和webapps
其他文件夹/链接。
Tomcat 使用catalina.base
自己来配置日志目录 - 看看conf/logging.properties
它在哪里说:
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
param name="File" value="${catalina.home}/logs/log4j.log"
该catalina.home
属性已由 Tomcat 提供。
在Tomcat 5.5 日志记录页面上找到一个(非常)简短的示例,并在以下 SO 问题中找到更多详细信息:
您可以执行以下操作:
CATALINA_HOME
作为环境变量发送。-D
你只需要跑set JAVA_OPTS=%JAVA_OPTS% -DCATALINA_HOME=%CATALINA_HOME%
如果您在 Windows 或
export JAVA_OPTS=${JAVA_OPTS} -DCATALINA_HOME=$CATALINA_HOME
unix 上。
现在只需在您的 log4j 配置文件中使用 ${CATALINA_HOME} 就可以了。