我遇到了以下一些奇怪的错误:
log4j:ERROR setFile(null,false) call failed.
java.io.FileNotFoundException: \debug.log (Access is denied)
src/main/dev/environment/dev/config.properties
logging.folder=D:/logs
log4j.xml
<appender name="fileAppender" class="org.apache.log4j.RollingFileAppender">
<param name="append" value="false"/>
<param name="file" value="${logging.folder}/debug.log"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
</layout>
</appender>
maven.xml (not complete)
<filters>
<filter>src/main/environment/dev/config.properties</filter>
</filters>
当我直接使用<param name="file" value="D:/logs/debug.log"/>
时,它可以正常工作,但是当我使用<param name="file" value="${logging.folder}/debug.log"/>
时,就会出现上述异常。
我很确定属性文件中的值可以被读取,因为我的其中一个Java文件只能从这个属性文件中读取值。那么为什么这个log4j.xml文件不能读取呢?
请建议我出了什么问题?
config.properties
文件在 XML 属性被解释之前没有被读取。我还注意到你的路径不匹配,并且你没有指定出现错误的环境(是一个没有启用dev
的配置吗?)。 - chrylis -cautiouslyoptimistic-