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')