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