我需要类似这样的东西:
"param name="File" value="${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 问题:
-D
选项将CATALINA_HOME
作为环境变量发送。如果你在Windows上,只需运行set JAVA_OPTS=%JAVA_OPTS% -DCATALINA_HOME=%CATALINA_HOME%
如果你在Unix上,运行 export JAVA_OPTS=${JAVA_OPTS} -DCATALINA_HOME=$CATALINA_HOME
。
现在,只需在log4j配置文件中使用${CATALINA_HOME},这应该就可以了。
${catalina.base}
会给我D:\EclipseWorkspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp2
,而且日志文件也没有生成。有什么解决方法吗? - Abhishek Nayak