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
我正在使用 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