public Object doExecute()

in log/src/main/java/org/apache/karaf/cellar/log/shell/LogDisplayException.java [41:72]


    public Object doExecute() throws Exception {
        String nodeId = null;
        if (nodeIdOrAlias != null) {
            Node node = clusterManager.findNodeByIdOrAlias(nodeIdOrAlias);
            if (node == null) {
                System.err.println("Node " + nodeIdOrAlias + " doesn't exist");
                return null;
            }
            nodeId = node.getId();
        }
        ClassLoader originalClassLoader = Thread.currentThread().getContextClassLoader();
        Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
        try {
            Map<ClusterLogKey, ClusterLogRecord> clusterLog = clusterManager.getMap(LogAppender.LOG_MAP);
            for (ClusterLogKey key : clusterLog.keySet()) {
                ClusterLogRecord record = clusterLog.get(key);
                if (record.getThrowableStringRep() != null && record.getThrowableStringRep().length > 0) {
                    if (nodeId == null || (nodeId != null && key.getNodeId().equals(nodeId))) {
                        if (logger == null || (logger != null && record.getLoggerName().contains(logger))) {
                            for (String throwable : record.getThrowableStringRep()) {
                                System.out.println(throwable);
                            }
                            System.out.println();
                        }
                    }
                }
            }
        } finally {
            Thread.currentThread().setContextClassLoader(originalClassLoader);
        }
        return null;
    }