in src/main/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java [959:1008]
private Action createIgnoreAllAction() {
Action action =
new AbstractAction(
"Ignore loggers below selection") {
public void actionPerformed(ActionEvent e) {
//add all top level loggers as hidden loggers
TreePath[] paths = logTree.getSelectionPaths();
StringBuilder parentPathString = new StringBuilder();
DefaultMutableTreeNode root;
if ((paths == null) || (paths.length == 0)) {
root = (DefaultMutableTreeNode) logTreeModel.getRoot();
} else {
root = (DefaultMutableTreeNode) logTree.getSelectionPath().getLastPathComponent();
TreeNode[] path = root.getPath();
//don't add 'root logger' to path string
for (int i = 1; i < path.length; i++) {
if (i > 1) {
parentPathString.append(".");
}
parentPathString.append(path[i].toString());
}
if (!(parentPathString.toString().equals(""))) {
parentPathString.append(".");
}
}
Enumeration topLevelLoggersEnumeration = root.children();
Set topLevelLoggersSet = new HashSet();
while (topLevelLoggersEnumeration.hasMoreElements()) {
String thisLogger = topLevelLoggersEnumeration.nextElement().toString();
topLevelLoggersSet.add(parentPathString + thisLogger);
}
if (topLevelLoggersSet.size() > 0) {
ignore(topLevelLoggersSet);
}
logTreeModel.nodeChanged(root);
ignoreLoggerButton.setSelected(false);
focusOnAction.setEnabled(false);
popupMenu.hideCheck.setSelected(false);
fireChangeEvent();
}
};
action.putValue(
Action.SHORT_DESCRIPTION,
"Adds all loggers to your Ignore list (unhide loggers you want to see in the view)");
return action;
}