in log/src/main/java/org/apache/karaf/cellar/log/shell/GetLog.java [61:114]
public Object doExecute() throws Exception {
GetLogCommand command = new GetLogCommand(clusterManager.generateId());
command.setTimeout(timeout * 1000);
ShellTable table = new ShellTable();
table.column(" ");
table.column("Node");
table.column("Logger");
table.column("Level");
Set<Node> recipientList = new HashSet<Node>();
if (nodes != null && !nodes.isEmpty()) {
for (String nodeId : nodes) {
Node node = clusterManager.findNodeByIdOrAlias(nodeId);
if (node == null) {
System.err.println("Node " + nodeId + " doesn't exist");
} else {
recipientList.add(node);
}
}
} else {
recipientList = clusterManager.listNodes();
}
if (recipientList.size() < 1)
return null;
command.setDestination(recipientList);
command.setLogger(logger);
Map<Node, GetLogResult> results = executionContext.execute(command);
if (results == null || results.isEmpty()) {
System.err.println("No result received within given timeout");
} else {
for (Node node : results.keySet()) {
String local = "";
if (node.equals(clusterManager.getNode()))
local = "x";
GetLogResult result = results.get(node);
Map<String, String> loggers = result.getLoggers();
for (String logger : loggers.keySet()) {
String nodeName = node.getAlias();
if (nodeName == null) {
nodeName = node.getId();
}
table.addRow().addContent(local, nodeName, logger, loggers.get(logger));
}
}
}
table.print(System.out);
return null;
}