使用jboss变量时log4j错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用jboss变量时log4j错误相关的知识,希望对你有一定的参考价值。

我正在尝试使用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 osomewhere,而我需要在属性文件中硬编码时放入C:\path\to\somewhere,如果这有任何区别的话。

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

答案

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

以上是关于使用jboss变量时log4j错误的主要内容,如果未能解决你的问题,请参考以下文章

解决 jboss和log4j的冲突问题

如何在运行时在 org.jboss.logging 中设置日志记录

如何在 JBoss5 中使用 log4j 设置 DBAppender?

在 JBoss 6.1.0-Final 中使用 MDC 日志记录

Hibernate 5 测试的时候日志错误

解决 jboss和log4j的冲突问题