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 ca...@apache.org on 2006/01/02 09:05:08 UTC
svn commit: r365312 - in
/logging/chainsaw/trunk/src/java/org/apache/log4j/chainsaw:
ChainsawAppenderHandler.java LogUI.java help/Tutorial.java
receivers/ReceiversPanel.java receivers/ReceiversTreeModel.java
Author: carnold
Date: Mon Jan 2 00:05:04 2006
New Revision: 365312
URL: http://svn.apache.org/viewcvs?rev=365312&view=rev
Log:
Bug 35452: Chainsaw fixes for LoggerRepository work
Modified:
logging/chainsaw/trunk/src/java/org/apache/log4j/chainsaw/ChainsawAppenderHandler.java
logging/chainsaw/trunk/src/java/org/apache/log4j/chainsaw/LogUI.java
logging/chainsaw/trunk/src/java/org/apache/log4j/chainsaw/help/Tutorial.java
logging/chainsaw/trunk/src/java/org/apache/log4j/chainsaw/receivers/ReceiversPanel.java
logging/chainsaw/trunk/src/java/org/apache/log4j/chainsaw/receivers/ReceiversTreeModel.java
Modified: logging/chainsaw/trunk/src/java/org/apache/log4j/chainsaw/ChainsawAppenderHandler.java
URL: http://svn.apache.org/viewcvs/logging/chainsaw/trunk/src/java/org/apache/log4j/chainsaw/ChainsawAppenderHandler.java?rev=365312&r1=365311&r2=365312&view=diff
==============================================================================
--- logging/chainsaw/trunk/src/java/org/apache/log4j/chainsaw/ChainsawAppenderHandler.java (original)
+++ logging/chainsaw/trunk/src/java/org/apache/log4j/chainsaw/ChainsawAppenderHandler.java Mon Jan 2 00:05:04 2006
@@ -1,5 +1,5 @@
/*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Copyright 1999,2006 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -30,6 +30,7 @@
import org.apache.log4j.rule.ExpressionRule;
import org.apache.log4j.rule.Rule;
import org.apache.log4j.spi.LoggingEvent;
+import org.apache.log4j.spi.LoggerRepositoryEx;
import org.apache.log4j.spi.LoggingEventFieldResolver;
/**
@@ -145,7 +146,7 @@
});
LogManager.getRootLogger().addAppender(handler);
SocketReceiver receiver = new SocketReceiver(4445);
- LogManager.getLoggerRepository().getPluginRegistry().addPlugin(receiver);
+ ((LoggerRepositoryEx) LogManager.getLoggerRepository()).getPluginRegistry().addPlugin(receiver);
receiver.activateOptions();
Thread.sleep(60000);
}
Modified: logging/chainsaw/trunk/src/java/org/apache/log4j/chainsaw/LogUI.java
URL: http://svn.apache.org/viewcvs/logging/chainsaw/trunk/src/java/org/apache/log4j/chainsaw/LogUI.java?rev=365312&r1=365311&r2=365312&view=diff
==============================================================================
--- logging/chainsaw/trunk/src/java/org/apache/log4j/chainsaw/LogUI.java (original)
+++ logging/chainsaw/trunk/src/java/org/apache/log4j/chainsaw/LogUI.java Mon Jan 2 00:05:04 2006
@@ -1,5 +1,5 @@
/*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Copyright 1999,2006 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -114,6 +114,8 @@
import org.apache.log4j.rule.Rule;
import org.apache.log4j.spi.Decoder;
import org.apache.log4j.spi.LoggingEvent;
+import org.apache.log4j.spi.LoggerRepository;
+import org.apache.log4j.spi.LoggerRepositoryEx;
import org.apache.log4j.xml.XMLDecoder;
@@ -308,8 +310,12 @@
//configuration initialized here
logUI.ensureChainsawAppenderHandlerAdded();
logger = LogManager.getLogger(LogUI.class);
- logger.getLoggerRepository().setProperty(Constants.APPLICATION_KEY,"log");
- logger.getLoggerRepository().setProperty(Constants.HOSTNAME_KEY,"chainsaw");
+ LoggerRepository repo = logger.getLoggerRepository();
+ if (repo instanceof LoggerRepositoryEx) {
+ LoggerRepositoryEx repox = (LoggerRepositoryEx) repo;
+ repox.setProperty(Constants.APPLICATION_KEY,"log");
+ repox.setProperty(Constants.HOSTNAME_KEY,"chainsaw");
+ }
String config = model.getConfigurationURL();
if(config!=null && (!(config.trim().equals("")))) {
@@ -595,7 +601,10 @@
* table columns, and sets itself viewable.
*/
public void activateViewer() {
- this.pluginRegistry = LogManager.getLoggerRepository().getPluginRegistry();
+ LoggerRepository repo = LogManager.getLoggerRepository();
+ if (repo instanceof LoggerRepositoryEx) {
+ this.pluginRegistry = ((LoggerRepositoryEx) repo).getPluginRegistry();
+ }
initGUI();
initPrefModelListeners();
@@ -924,13 +933,16 @@
new Thread(
new Runnable() {
public void run() {
- PluginRegistry pluginRegistry = LogManager.getLoggerRepository().getPluginRegistry();
- List list = pluginRegistry.getPlugins(Generator.class);
-
- for (Iterator iter = list.iterator(); iter.hasNext();) {
- Plugin plugin = (Plugin) iter.next();
- pluginRegistry.stopPlugin(plugin.getName());
- }
+ LoggerRepository repo = LogManager.getLoggerRepository();
+ if (repo instanceof LoggerRepositoryEx) {
+ PluginRegistry pluginRegistry = ((LoggerRepositoryEx) repo).getPluginRegistry();
+ List list = pluginRegistry.getPlugins(Generator.class);
+
+ for (Iterator iter = list.iterator(); iter.hasNext();) {
+ Plugin plugin = (Plugin) iter.next();
+ pluginRegistry.stopPlugin(plugin.getName());
+ }
+ }
}
}).start();
setEnabled(false);
Modified: logging/chainsaw/trunk/src/java/org/apache/log4j/chainsaw/help/Tutorial.java
URL: http://svn.apache.org/viewcvs/logging/chainsaw/trunk/src/java/org/apache/log4j/chainsaw/help/Tutorial.java?rev=365312&r1=365311&r2=365312&view=diff
==============================================================================
--- logging/chainsaw/trunk/src/java/org/apache/log4j/chainsaw/help/Tutorial.java (original)
+++ logging/chainsaw/trunk/src/java/org/apache/log4j/chainsaw/help/Tutorial.java Mon Jan 2 00:05:04 2006
@@ -1,5 +1,5 @@
/*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Copyright 1999,2006 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -20,7 +20,8 @@
import org.apache.log4j.chainsaw.Generator;
import org.apache.log4j.plugins.Plugin;
import org.apache.log4j.plugins.PluginRegistry;
-
+import org.apache.log4j.spi.LoggerRepository;
+import org.apache.log4j.spi.LoggerRepositoryEx;
/**
* A runnable element that installs into the Log4j environment some fake Receivers
@@ -37,13 +38,16 @@
Plugin p2 = new Generator("Generator 2");
Plugin p3 = new Generator("Generator 3");
- PluginRegistry pluginRegistry = LogManager.getLoggerRepository().getPluginRegistry();
- pluginRegistry.addPlugin(p1);
- p1.activateOptions();
- pluginRegistry.addPlugin(p2);
- p2.activateOptions();
- pluginRegistry.addPlugin(p3);
- p3.activateOptions();
+ LoggerRepository repo = LogManager.getLoggerRepository();
+ if (repo instanceof LoggerRepositoryEx) {
+ PluginRegistry pluginRegistry = ((LoggerRepositoryEx) repo).getPluginRegistry();
+ pluginRegistry.addPlugin(p1);
+ p1.activateOptions();
+ pluginRegistry.addPlugin(p2);
+ p2.activateOptions();
+ pluginRegistry.addPlugin(p3);
+ p3.activateOptions();
+ }
}
}
Modified: logging/chainsaw/trunk/src/java/org/apache/log4j/chainsaw/receivers/ReceiversPanel.java
URL: http://svn.apache.org/viewcvs/logging/chainsaw/trunk/src/java/org/apache/log4j/chainsaw/receivers/ReceiversPanel.java?rev=365312&r1=365311&r2=365312&view=diff
==============================================================================
--- logging/chainsaw/trunk/src/java/org/apache/log4j/chainsaw/receivers/ReceiversPanel.java (original)
+++ logging/chainsaw/trunk/src/java/org/apache/log4j/chainsaw/receivers/ReceiversPanel.java Mon Jan 2 00:05:04 2006
@@ -1,5 +1,5 @@
/*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Copyright 1999,2006 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -70,6 +70,8 @@
import org.apache.log4j.chainsaw.messages.MessageCenter;
import org.apache.log4j.net.SocketNodeEventListener;
import org.apache.log4j.net.SocketReceiver;
+import org.apache.log4j.spi.LoggerRepository;
+import org.apache.log4j.spi.LoggerRepositoryEx;
import org.apache.log4j.plugins.Pauseable;
import org.apache.log4j.plugins.Plugin;
import org.apache.log4j.plugins.PluginRegistry;
@@ -106,10 +108,15 @@
public ReceiversPanel() {
super(new BorderLayout());
- pluginRegistry = LogManager.getLoggerRepository().getPluginRegistry();
+ LoggerRepository repo = LogManager.getLoggerRepository();
final ReceiversTreeModel model = new ReceiversTreeModel();
+ if (repo instanceof LoggerRepositoryEx) {
+ pluginRegistry = ((LoggerRepositoryEx) repo).getPluginRegistry();
+ pluginRegistry.addPluginListener(model);
+ } else {
+ pluginRegistry = null;
+ }
- pluginRegistry.addPluginListener(model);
receiversTree.setModel(model);
receiversTree.setExpandsSelectedPaths(true);
@@ -362,13 +369,15 @@
/**
* add this listener to all SocketReceivers
*/
- List socketReceivers =
- pluginRegistry.getPlugins(SocketReceiver.class);
-
- for (Iterator iter = socketReceivers.iterator(); iter.hasNext();) {
- SocketReceiver element = (SocketReceiver) iter.next();
- element.addSocketNodeEventListener(listener);
- }
+ if (pluginRegistry == null) {
+ List socketReceivers =
+ pluginRegistry.getPlugins(SocketReceiver.class);
+
+ for (Iterator iter = socketReceivers.iterator(); iter.hasNext();) {
+ SocketReceiver element = (SocketReceiver) iter.next();
+ element.addSocketNodeEventListener(listener);
+ }
+ }
}
protected ReceiversTreeModel getReceiverTreeModel() {
Modified: logging/chainsaw/trunk/src/java/org/apache/log4j/chainsaw/receivers/ReceiversTreeModel.java
URL: http://svn.apache.org/viewcvs/logging/chainsaw/trunk/src/java/org/apache/log4j/chainsaw/receivers/ReceiversTreeModel.java?rev=365312&r1=365311&r2=365312&view=diff
==============================================================================
--- logging/chainsaw/trunk/src/java/org/apache/log4j/chainsaw/receivers/ReceiversTreeModel.java (original)
+++ logging/chainsaw/trunk/src/java/org/apache/log4j/chainsaw/receivers/ReceiversTreeModel.java Mon Jan 2 00:05:04 2006
@@ -1,5 +1,5 @@
/*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Copyright 1999,2006 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -19,6 +19,7 @@
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.util.Collection;
+import java.util.Vector;
import java.util.Enumeration;
import java.util.Iterator;
@@ -29,6 +30,8 @@
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import org.apache.log4j.net.SocketReceiver;
+import org.apache.log4j.spi.LoggerRepository;
+import org.apache.log4j.spi.LoggerRepositoryEx;
import org.apache.log4j.plugins.Plugin;
import org.apache.log4j.plugins.PluginEvent;
import org.apache.log4j.plugins.PluginListener;
@@ -64,7 +67,13 @@
public final synchronized ReceiversTreeModel refresh() {
RootNode.removeAllChildren();
- Collection receivers = LogManager.getLoggerRepository().getPluginRegistry().getPlugins(Receiver.class);
+ LoggerRepository repo = LogManager.getLoggerRepository();
+ Collection receivers;
+ if (repo instanceof LoggerRepositoryEx) {
+ receivers = ((LoggerRepositoryEx) repo).getPluginRegistry().getPlugins(Receiver.class);
+ } else {
+ receivers = new Vector();
+ }
updateRootDisplay();
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org