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'])
对于独立 WAS(假设服务器名称为“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')