我在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;
在我的开发机器上,文件名解析并正确创建日志。在我的部署机器上,我收到错误消息,说它无法创建名为 - ${env:CATALINA_BASE}/logs/pidashboard.log
的文件,如果我将行更改为CATALINA_BASE解析的硬编码路径,则会正确创建日志。
这些是Tomcat的相当香草的装置,所以我不确定导致差异的是什么。我的开发机器运行的是Windows 10,而我的生产机器运行的是Windows Server 2008,但我不希望这会影响这种特定情况。
答案 0 :(得分:0)
如果您使用Tomcat的Windows服务来启动Tomcat,那么环境变量CATALINA_BASE
将不会被设置,因此它将不可用。尝试使用系统属性catalina.base
而不是环境变量CATALINA_BASE
。