环境:CATALINA_BASE无法在Tomcat 8.0 / log4j中解析

时间:2015-07-10 01:04:40

标签: java windows tomcat log4j

我在Windows上的Tomcat 8.0中有一个相对简单的log4j配置



<Configuration>
    <Appenders>
        <File name="FileLog" fileName="${env:CATALINA_BASE}/logs/pidashboard.log">
            <PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
        </File>
    </Appenders>
    <Loggers>
        <Root level="debug">
            <AppenderRef ref="FileLog"/>
        </Root>
    </Loggers>
</Configuration>
&#13;
&#13;
&#13;

在我的开发机器上,文件名解析并正确创建日志。在我的部署机器上,我收到错误消息,说它无法创建名为 - ${env:CATALINA_BASE}/logs/pidashboard.log的文件,如果我将行更改为CATALINA_BASE解析的硬编码路径,则会正确创建日志。

这些是Tomcat的相当香草的装置,所以我不确定导致差异的是什么。我的开发机器运行的是Windows 10,而我的生产机器运行的是Windows Server 2008,但我不希望这会影响这种特定情况。

1 个答案:

答案 0 :(得分:0)

如果您使用Tomcat的Windows服务来启动Tomcat,那么环境变量CATALINA_BASE将不会被设置,因此它将不可用。尝试使用系统属性catalina.base而不是环境变量CATALINA_BASE