使用jboss变量时log4j错误

问题描述 投票:0回答:1

我正在尝试使用log4j日志记录并尝试在我的属性文件中使用${jboss.server.log.dir}给我一个错误:

log4j:ERROR setFile(null,true)调用失败。 java.io.FileNotFoundException:\ server.log(访问被拒绝)

基本上,我使用的是:

log4j.appender.myappender.File = ${jboss.server.log.dir}/server.log

重点:

1)我可以使用完整路径它会工作,所以我想它不是权限(因为它在我的C盘上)

2)我可以使用${user.home},它将采取正确的值并按预期​​工作(虽然不是我想要登录的位置,但更多的测试,看我正确使用变量)

3)如果我使用\\(即${jboss.server.log.dir}\\server.log),我会得到同样的错误。如果我使用//,我得到指定的路径无效。如果我使用\,没有任何反应 - 没有错误,没有记录。我使用/${user.home},这是正常的。请注意,这仅适用于Windows。

我读过this等等,但似乎任何解决方案都无效。

最后一点:启动时,我可以看到${jboss.server.log.dir}引用的路径是C:\path\to\somewhere,而我需要在属性文件中硬编码时放入C:\\path\\to\\somewhere,如果这有任何区别的话。

所以我的问题是:如何使用${jboss.server.log.dir}代替硬编码完整路径(我不能这样做)?

java log4j
1个回答
0
投票

log4j 2中添加了对环境变量扩展的支持,目前版本为2.10。您是否可以使用早期版本的log4j?

© www.soinside.com 2019 - 2024. All rights reserved.