【发布时间】:2012-06-01 22:28:30
【问题描述】:
我需要这样的东西:
"param name="文件" value="${CATALINA_HOME}/logs/log4j.log"
我看到很多类似的问题,但没有有效的解决方案。
【问题讨论】:
我需要这样的东西:
"param name="文件" 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
【讨论】:
${catalina.base} 给了我D:\EclipseWorkspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp2。并且还没有生成日志文件。有什么解决办法吗?
param name="File" value="${catalina.home}/logs/log4j.log"
catalina.home 属性已由 Tomcat 提供。
在Tomcat 5.5 logging page 上找到一个(非常)简短的示例,并在以下 SO 问题中找到更多详细信息:
【讨论】:
您可以执行以下操作:
-D 选项将CATALINA_HOME 作为环境变量发送。你只需要运行 set JAVA_OPTS=%JAVA_OPTS% -DCATALINA_HOME=%CATALINA_HOME% 如果您使用的是 Windows 或
export JAVA_OPTS=${JAVA_OPTS} -DCATALINA_HOME=$CATALINA_HOME 适用于 unix。
现在只需在您的 log4j 配置文件中使用 ${CATALINA_HOME} 就可以了。
【讨论】: