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