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/12/01 10:36:27 UTC

cvs commit: logging-log4j/src/java/org/apache/log4j/chainsaw/help release-notes.html

sdeboy      2004/12/01 01:36:27

  Modified:    src/java/org/apache/log4j/chainsaw LogUI.java
               src/java/org/apache/log4j/varia PropertyFilter.java
               src/java/org/apache/log4j/chainsaw/help release-notes.html
  Log:
  Internal Chainsaw events are now tagged with application and hostname properties so they route by default to a 'chainsaw-log' tab
  PropertyFilter was modified to not override existing logging event properties
  
  Revision  Changes    Path
  1.110     +9 -2      logging-log4j/src/java/org/apache/log4j/chainsaw/LogUI.java
  
  Index: LogUI.java
  ===================================================================
  RCS file: /home/cvs/logging-log4j/src/java/org/apache/log4j/chainsaw/LogUI.java,v
  retrieving revision 1.109
  retrieving revision 1.110
  diff -u -r1.109 -r1.110
  --- LogUI.java	1 Dec 2004 07:58:07 -0000	1.109
  +++ LogUI.java	1 Dec 2004 09:36:26 -0000	1.110
  @@ -102,6 +102,7 @@
   import org.apache.log4j.chainsaw.prefs.SettingsManager;
   import org.apache.log4j.chainsaw.receivers.ReceiversPanel;
   import org.apache.log4j.chainsaw.version.VersionManager;
  +import org.apache.log4j.helpers.Constants;
   import org.apache.log4j.joran.JoranConfigurator;
   import org.apache.log4j.net.SocketNodeEventListener;
   import org.apache.log4j.plugins.Plugin;
  @@ -113,6 +114,7 @@
   import org.apache.log4j.rule.Rule;
   import org.apache.log4j.spi.Decoder;
   import org.apache.log4j.spi.LoggingEvent;
  +import org.apache.log4j.varia.PropertyFilter;
   import org.apache.log4j.xml.XMLDecoder;
   
   
  @@ -290,6 +292,9 @@
       logUI.cyclicBufferSize = model.getCyclicBufferSize();
   
       logUI.handler = new ChainsawAppenderHandler();
  +    PropertyFilter propFilter = new PropertyFilter();
  +    propFilter.setProperties(Constants.HOSTNAME_KEY+"=chainsaw,"+Constants.APPLICATION_KEY+"=log");
  +    logUI.handler.addFilter(propFilter);
       logUI.handler.addEventBatchListener(logUI.new NewTabEventBatchReceiver());
       
       
  @@ -300,8 +305,6 @@
        * the Plugins directory can find them (this is particularly
        * important for the Web start version of Chainsaw
        */ 
  -    ClassLoader classLoader = PluginClassLoaderFactory.getInstance().getClassLoader();
  -    ClassLoader previousTCCL = Thread.currentThread().getContextClassLoader();
       
       String config = model.getConfigurationURL();
       if(config!=null && (!(config.trim().equals("")))) {
  @@ -350,6 +353,10 @@
       applyLookAndFeel(model.getLookAndFeelClassName());
   
       handler = new ChainsawAppenderHandler(appender);
  +    PropertyFilter propFilter = new PropertyFilter();
  +    propFilter.setProperties(Constants.HOSTNAME_KEY+"=chainsaw,"+Constants.APPLICATION_KEY+"=log");
  +    handler.addFilter(propFilter);
  +
       handler.addEventBatchListener(new NewTabEventBatchReceiver());
       LogManager.getRootLogger().addAppender(appender);
       setShutdownAction(
  
  
  
  1.2       +12 -5     logging-log4j/src/java/org/apache/log4j/varia/PropertyFilter.java
  
  Index: PropertyFilter.java
  ===================================================================
  RCS file: /home/cvs/logging-log4j/src/java/org/apache/log4j/varia/PropertyFilter.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- PropertyFilter.java	21 Jul 2004 05:40:53 -0000	1.1
  +++ PropertyFilter.java	1 Dec 2004 09:36:27 -0000	1.2
  @@ -17,6 +17,7 @@
   package org.apache.log4j.varia;
   
   import java.util.Hashtable;
  +import java.util.Iterator;
   import java.util.Map;
   import java.util.StringTokenizer;
   
  @@ -29,6 +30,9 @@
    * The 'properties' param is converted to event properties, which are 
    * set on every event processed by the filter.
    * 
  + * Individual properties are only set if they do not already exist on the 
  + * logging event (will not override existing properties).
  + * 
    * This class relies on the convention that property name/value pairs are 
    * equals-symbol delimited, and each name/value pair is comma-delimited
    * 
  @@ -46,13 +50,16 @@
   	public int decide(LoggingEvent event) {
   		Map eventProps = event.getProperties();
   		if (eventProps == null) {
  -			eventProps = new Hashtable();
  +			event.setProperties(new Hashtable(properties));
   		} else {
  -			eventProps = new Hashtable(properties);
  +		    //only add properties that don't already exist
  +		    for (Iterator iter = properties.keySet().iterator();iter.hasNext();) {
  +		        Object key = iter.next();
  +		        if (!(eventProps.containsKey(key))) {
  +		            eventProps.put(key, properties.get(key));
  +		        }
  +		    }
   		}
  -		properties.putAll(eventProps);
  -	
  -		event.setProperties(properties);
   		return Filter.NEUTRAL;
   	}
   	
  
  
  
  1.45      +1 -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.44
  retrieving revision 1.45
  diff -u -r1.44 -r1.45
  --- release-notes.html	1 Dec 2004 07:58:08 -0000	1.44
  +++ release-notes.html	1 Dec 2004 09:36:27 -0000	1.45
  @@ -11,6 +11,7 @@
   
   <h2>30 November 2004</h2>
   <ul>
  +<li>Internal events are now tagged with application and hostname properties so they route by default to a 'chainsaw-log' tab</li>
   <li>Adding TRACE level support to Chainsaw - not yet complete</li>
   <li>Improved event routing code</li>
   <li>Added LogFilePatternReceiver section to example receiver configuration (available from Welcome tab)</li>
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org