我面临一些奇怪的错误,如下所示
log4j:ERROR setFile(null,false) call failed.
java.io.FileNotFoundException: \debug.log (Access is denied)
的src / main /开发/环境的/ 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(未完成)
<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文件能够读取呢?
请问我出了什么问题?
解决方法:
除了Chandra的回答,我在Windows 7上的Eclipse中遇到了同样的异常:
C:/myfile.log // access denied...
但是当我创建一个具有我的用户ID权限的文件夹时,它工作正常:
C:/myLogs/myfile.log // it wasn't necessary to create the file
我还注意到必须使用正斜杠指定路径.