log4j2 查找 websphere 环境变量

log4j2 lookup websphere environment variable

我正在使用 log4j2(版本 2.10.0)和 IBM Websphere 8.5.5.12。
问题是我的 log4j2.properties 中的 Websphere 环境变量没有得到解决。我尝试了一些方法,例如

property.filename = $${sys:Test}/Test.log
property.filename = ${env:Test}/Test.log

但无论我尝试什么,都无法解决 "Test"。谁能帮我解决这个问题?

如果您在正确的资源范围内创建了变量,您的 JVM 可以访问该变量,则可以通过添加 JVM 自定义 属性 来解决此问题,其名称与 Websphere 环境变量和值相同,如下所示:

Steps : In WAS Admin console, Go to 
    WebSphere application servers > 
        Server_name > 
            Java and Process Management (under Server Infrastructure)> 
                Process definition > 
                    Java Virtual Machine (under Additional Properties)> 
                        Custom properties
Click on New and enter below details : 
    Name  : Test
    Value : ${Test}
Apply and save the changes.

重新启动 JVM 并重新测试!

编辑: 正如下面评论中提到的,在添加 JVM 自定义 属性 之后,可以直接从 log4j 文件访问变量,如下所示:

property.filename = ${Test}/Test.log