1 回答

TA贡献1874条经验 获得超12个赞
您需要先阅读结果。在简单的情况下,它会是result.get("result", "logger"). 您还可以使用OperationsAPI 并执行类似Operations.readResult(result).get("logger").
如果您只想要记录器名称,这里是一个示例:
try (ModelControllerClient client = ModelControllerClient.Factory.create("localhost", 9990)) {
final ModelNode address = Operations.createAddress("subsystem", "logging");
final ModelNode op = Operations.createOperation(ClientConstants.READ_CHILDREN_NAMES_OPERATION, address);
op.get(ClientConstants.CHILD_TYPE).set("logger");
final ModelNode result = client.execute(op);
if (Operations.isSuccessfulOutcome(result)) {
final List<ModelNode> loggerNames = Operations.readResult(result).asList();
for (ModelNode loggerName : loggerNames) {
System.out.printf("logger=%s%n", loggerName.asString());
}
} else {
System.err.printf("Failed to get the logger names: %s%n", Operations.getFailureDescription(result).asString());
}
}
如果您想要完整的描述,您可以改用该read-children-resource操作。
WildFly 文档也有一节介绍如何使用ModelControllerClient以及ModelNode 和 ModelType API。
添加回答
举报