You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by sd...@apache.org on 2004/07/02 07:49:27 UTC
cvs commit: logging-log4j/src/java/org/apache/log4j/chainsaw/help release-notes.html
sdeboy 2004/07/01 22:49:27
Modified: src/java/org/apache/log4j/chainsaw LogPanel.java
LoggerNameTreePanel.java
src/java/org/apache/log4j/chainsaw/color RuleColorizer.java
src/java/org/apache/log4j/chainsaw/help release-notes.html
Log:
Added automatic colorizing of selected node and child nodes in logger tree panel. Deactivated when 'focus on' is in use or the 'Root Logger' is selected.
Revision Changes Path
1.80 +1 -0 logging-log4j/src/java/org/apache/log4j/chainsaw/LogPanel.java
Index: LogPanel.java
===================================================================
RCS file: /home/cvs/logging-log4j/src/java/org/apache/log4j/chainsaw/LogPanel.java,v
retrieving revision 1.79
retrieving revision 1.80
diff -u -r1.79 -r1.80
--- LogPanel.java 25 Jun 2004 06:25:06 -0000 1.79
+++ LogPanel.java 2 Jul 2004 05:49:27 -0000 1.80
@@ -634,6 +634,7 @@
* it's rule state changes.
*/
ruleMediator.setLoggerRule(logTreePanel);
+ colorizer.setLoggerRule(logTreePanel.getLoggerColorRule());
/*
* Color rule frame and panel
1.29 +23 -2 logging-log4j/src/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java
Index: LoggerNameTreePanel.java
===================================================================
RCS file: /home/cvs/logging-log4j/src/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -r1.28 -r1.29
--- LoggerNameTreePanel.java 18 May 2004 00:39:55 -0000 1.28
+++ LoggerNameTreePanel.java 2 Jul 2004 05:49:27 -0000 1.29
@@ -135,7 +135,7 @@
return true;
}
};
-
+ private Rule colorRuleDelegate;
private final JScrollPane scrollTree;
private final JToolBar toolbar = new JToolBar();
@@ -154,6 +154,23 @@
setLayout(new BorderLayout());
+ colorRuleDelegate =
+ new AbstractRule()
+ {
+ public boolean evaluate(LoggingEvent e)
+ {
+ boolean isHidden = getHiddenSet().contains(e.getLoggerName());
+ String currentlySelectedLoggerName = getCurrentlySelectedLoggerName();
+
+ if (!isFocusOnSelected() && !isHidden && currentlySelectedLoggerName != null && !"".equals(currentlySelectedLoggerName))
+ {
+ return (e.getLoggerName().startsWith(currentlySelectedLoggerName+".") || e.getLoggerName().endsWith(currentlySelectedLoggerName)) ;
+ }
+ return false;
+ }
+ };
+
+
logTree =
new JTree(logTreeModel)
{
@@ -344,6 +361,10 @@
public boolean evaluate(LoggingEvent e)
{
return ruleDelegate.evaluate(e);
+ }
+
+ public Rule getLoggerColorRule() {
+ return colorRuleDelegate;
}
/**
1.8 +18 -2 logging-log4j/src/java/org/apache/log4j/chainsaw/color/RuleColorizer.java
Index: RuleColorizer.java
===================================================================
RCS file: /home/cvs/logging-log4j/src/java/org/apache/log4j/chainsaw/color/RuleColorizer.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- RuleColorizer.java 23 Mar 2004 07:00:23 -0000 1.7
+++ RuleColorizer.java 2 Jul 2004 05:49:27 -0000 1.8
@@ -47,9 +47,12 @@
private Map defaultRules = new HashMap();
private String currentRuleSet = DEFAULT_NAME;
private Rule findRule;
+ private Rule loggerRule;
private final Color FIND_FOREGROUND = Color.white;
private final Color FIND_BACKGROUND = Color.black;
-
+ private final Color LOGGER_FOREGROUND = Color.white;
+ private final Color LOGGER_BACKGROUND = Color.black;
+
public RuleColorizer() {
List rulesList = new ArrayList();
@@ -66,7 +69,12 @@
defaultRules.put(DEFAULT_NAME, rulesList);
setRules(defaultRules);
}
-
+
+ public void setLoggerRule(Rule loggerRule) {
+ this.loggerRule = loggerRule;
+ colorChangeSupport.firePropertyChange("colorrule", false, true);
+ }
+
public void setFindRule(Rule findRule) {
this.findRule = findRule;
colorChangeSupport.firePropertyChange("colorrule", false, true);
@@ -138,6 +146,10 @@
return FIND_BACKGROUND;
}
+ if ((loggerRule != null) && loggerRule.evaluate(event)) {
+ return LOGGER_BACKGROUND;
+ }
+
if (rules.containsKey(currentRuleSet)) {
List list = (List) rules.get(currentRuleSet);
Iterator iter = list.iterator();
@@ -157,6 +169,10 @@
public Color getForegroundColor(LoggingEvent event) {
if ((findRule != null) && findRule.evaluate(event)) {
return FIND_FOREGROUND;
+ }
+
+ if ((loggerRule != null) && loggerRule.evaluate(event)) {
+ return LOGGER_FOREGROUND;
}
if (rules.containsKey(currentRuleSet)) {
1.26 +5 -0 logging-log4j/src/java/org/apache/log4j/chainsaw/help/release-notes.html
Index: release-notes.html
===================================================================
RCS file: /home/cvs/logging-log4j/src/java/org/apache/log4j/chainsaw/help/release-notes.html,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- release-notes.html 25 Jun 2004 06:25:07 -0000 1.25
+++ release-notes.html 2 Jul 2004 05:49:27 -0000 1.26
@@ -9,6 +9,11 @@
<h1>1.99.99</h2>
+<h2>1 July 2004</h2>
+<ul>
+ <li>Selecting a node in the logger tree panel now colorizes the selected node and all child nodes. Disabled when 'focus on' is active or when the 'Root Logger' is selected. Thanks to Eric Rath for the suggestion.</li>
+</ul>
+
<h2>24 June 2004</h2>
<ul>
<li>Minor change to 'scroll to bottom' behavior to ensure context menu always matched expected behavior (scroll to bottom wouldn't stay selected in some cases).</li>
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org