LOG_ROOT的实际值取决于其他变量的值。变量在AdminConsole - > Environment - > WebSphere Variables中定义。由于变量存在于不同的作用域(单元,节点,集群,服务器),因此查找实际值可能有点棘手。最终的解决方案是使用wsadmin和AdminOperations.expandVariable操作。
对于ND环境:
adminOperations = AdminControl.queryNames('WebSphere:*,type=AdminOperations,process=dmgr').splitlines()[0]
print AdminControl.invoke(adminOperations, 'expandVariable', ['${LOG_ROOT}/commandAssistance_ssdimmanuel.log'])
对于独立为(假设服务器名称为 'server1的'):
adminOperations = AdminControl.queryNames('WebSphere:*,type=AdminOperations,process=server1').splitlines()[0]
print AdminControl.invoke(adminOperations, 'expandVariable', ['${LOG_ROOT}/commandAssistance_ssdimmanuel.log'])
广告模式
使用WDR库(http://wdr.github.io/WDR/)你可以用一条简单的线做:
对于ND:
print getMBean1(type='AdminOperations', process='dmgr').expandVariable('${LOG_ROOT}/commandAssistance_ssdimmanuel.log')
对于独立WAS:
print getMBean1(type='AdminOperations', process='server1').expandVariable('${LOG_ROOT}/commandAssistance_ssdimmanuel.log')