11

我需要这样的东西:

"参数名称="文件" 值="${CATALINA_HOME}/logs/log4j.log"

我看到了很多类似的问题,但没有有效的解决方案。

4

3 回答 3

15

对于 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.homebin文件夹。

下面catalina.baseconflogswebapps其他文件夹/链接。

Tomcat 使用catalina.base自己来配置日志目录 - 看看conf/logging.properties它在哪里说:

1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
于 2013-06-10T15:23:40.273 回答
10

param name="File" value="${catalina.home}/logs/log4j.log"

catalina.home属性已由 Tomcat 提供。

在Tomcat 5.5 日志记录页面上找到一个(非常)简短的示例,并在以下 SO 问题中找到更多详细信息:

Log4j,将 Web 应用配置为使用相对路径

于 2012-05-26T21:14:47.203 回答
4

您可以执行以下操作:

  1. 使用选项CATALINA_HOME作为环境变量发送。-D你只需要跑

set JAVA_OPTS=%JAVA_OPTS% -DCATALINA_HOME=%CATALINA_HOME%如果您在 Windows 或 export JAVA_OPTS=${JAVA_OPTS} -DCATALINA_HOME=$CATALINA_HOMEunix 上。

现在只需在您的 log4j 配置文件中使用 ${CATALINA_HOME} 就可以了。

于 2012-05-26T21:02:43.220 回答