Return-Path: Delivered-To: apmail-logging-general-archive@www.apache.org Received: (qmail 2578 invoked from network); 3 Jun 2007 23:27:29 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 3 Jun 2007 23:27:29 -0000 Received: (qmail 10268 invoked by uid 500); 3 Jun 2007 23:27:32 -0000 Delivered-To: apmail-logging-general-archive@logging.apache.org Received: (qmail 10232 invoked by uid 500); 3 Jun 2007 23:27:32 -0000 Mailing-List: contact general-help@logging.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: "Logging General" List-Id: Delivered-To: mailing list general@logging.apache.org Received: (qmail 10221 invoked by uid 99); 3 Jun 2007 23:27:32 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 03 Jun 2007 16:27:32 -0700 X-ASF-Spam-Status: No, hits=-99.5 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 03 Jun 2007 16:27:27 -0700 Received: by eris.apache.org (Postfix, from userid 65534) id 5018F1A981C; Sun, 3 Jun 2007 16:27:07 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r544010 - in /logging/chainsaw/trunk: ./ src/main/java/org/apache/log4j/chainsaw/ src/main/java/org/apache/log4j/chainsaw/layout/ Date: Sun, 03 Jun 2007 23:27:07 -0000 To: general@logging.apache.org From: psmith@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20070603232707.5018F1A981C@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: psmith Date: Sun Jun 3 16:27:06 2007 New Revision: 544010 URL: http://svn.apache.org/viewvc?view=rev&rev=544010 Log: Initial pom, and patched version of code to support log4j 1.2.15. Note the snapshot requirements in the pom, since these log4j-* snapshots are not in any repository as yet, one needs to install them ala maven install. This is the same steps required to build log4j 1.2.15 with maven, plus the extra step of mvn installing the log4j 1.2.15 snapshot. I will updated the HOWTOBUILD section soon. Added: logging/chainsaw/trunk/pom.xml Modified: logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ChainsawCyclicBufferTableModel.java logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogUI.java logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/layout/EventDetailLayout.java logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/layout/LayoutEditorPane.java Added: logging/chainsaw/trunk/pom.xml URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/pom.xml?view=auto&rev=544010 ============================================================================== --- logging/chainsaw/trunk/pom.xml (added) +++ logging/chainsaw/trunk/pom.xml Sun Jun 3 16:27:06 2007 @@ -0,0 +1,69 @@ + + + 4.0.0 + log4j + log4j-chainsaw + 1.99.0 + Graphical Viewer for Logging events from a local or remote log4j event system + + + + + log4j + apache-log4j-component + 0.1-SNAPSHOT + + + log4j + apache-log4j-expression-filter + 0.1-SNAPSHOT + + + log4j + apache-log4j-receivers + 0.1-SNAPSHOT + + + log4j + log4j + 1.2.15 + + + ant + ant + 1.6.5 + + + jmdns + jmdns + 1.0 + + + xstream + xstream + 1.1.2 + + + commons-vfs + commons-vfs + 1.0 + + + commons-logging + commons-logging-api + 1.0.4 + + + jakarta-regexp + jakarta-regexp + 1.4 + + + junit + junit + 3.8.1 + test + + + + Modified: logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ChainsawCyclicBufferTableModel.java URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ChainsawCyclicBufferTableModel.java?view=diff&rev=544010&r1=544009&r2=544010 ============================================================================== --- logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ChainsawCyclicBufferTableModel.java (original) +++ logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ChainsawCyclicBufferTableModel.java Sun Jun 3 16:27:06 2007 @@ -437,7 +437,7 @@ default: - if (columnIndex <= columnNames.size()) { + if (columnIndex < columnNames.size()) { return event.getProperty(columnNames.get(columnIndex).toString()); } } Modified: logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogUI.java URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogUI.java?view=diff&rev=544010&r1=544009&r2=544010 ============================================================================== --- logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogUI.java (original) +++ logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogUI.java Sun Jun 3 16:27:06 2007 @@ -53,6 +53,7 @@ import java.util.List; import java.util.Map; import java.util.Set; + import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.BorderFactory; @@ -83,10 +84,12 @@ import javax.swing.event.EventListenerList; import javax.swing.event.HyperlinkEvent; import javax.swing.event.HyperlinkListener; + import org.apache.log4j.AppenderSkeleton; import org.apache.log4j.Level; import org.apache.log4j.LogManager; import org.apache.log4j.Logger; +import org.apache.log4j.LoggerRepositoryExImpl; import org.apache.log4j.chainsaw.dnd.FileDnDTarget; import org.apache.log4j.chainsaw.help.HelpManager; import org.apache.log4j.chainsaw.help.Tutorial; @@ -104,9 +107,9 @@ 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; +import org.apache.log4j.plugins.PluginConfigurator; import org.apache.log4j.plugins.PluginEvent; import org.apache.log4j.plugins.PluginListener; import org.apache.log4j.plugins.PluginRegistry; @@ -114,9 +117,11 @@ import org.apache.log4j.rule.ExpressionRule; 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.spi.LoggingEvent; +import org.apache.log4j.spi.RepositorySelector; +import org.apache.log4j.xml.DOMConfigurator; import org.apache.log4j.xml.XMLDecoder; @@ -190,6 +195,10 @@ */ private EventListenerList shutdownListenerList = new EventListenerList(); private WelcomePanel welcomePanel; + + private static final Object repositorySelectorGuard = new Object(); + private static final LoggerRepositoryExImpl repositoryExImpl = new LoggerRepositoryExImpl(LogManager.getLoggerRepository()); + private PluginRegistry pluginRegistry; /** @@ -245,9 +254,19 @@ * @param args */ public static void main(String[] args) { + if(OSXIntegration.IS_OSX) { System.setProperty("apple.laf.useScreenMenuBar", "true"); } + + + LogManager.setRepositorySelector(new RepositorySelector() { + + public LoggerRepository getLoggerRepository() { + return repositoryExImpl; + }}, repositorySelectorGuard); + + ApplicationPreferenceModel model = new ApplicationPreferenceModel(); SettingsManager.getInstance().configure(new ApplicationPreferenceModelSaver(model)); @@ -298,6 +317,7 @@ showSplash(logUI); } logUI.cyclicBufferSize = model.getCyclicBufferSize(); + logUI.pluginRegistry = repositoryExImpl.getPluginRegistry(); logUI.handler = new ChainsawAppenderHandler(); logUI.handler.addEventBatchListener(logUI.new NewTabEventBatchReceiver()); @@ -1889,8 +1909,7 @@ try { // we temporarily swap the TCCL so that plugins can find resources Thread.currentThread().setContextClassLoader(classLoader); - JoranConfigurator jc = new JoranConfigurator(); - jc.doConfigure(url, LogManager.getLoggerRepository()); + PluginConfigurator.configure(url); }finally{ // now switch it back... Thread.currentThread().setContextClassLoader(previousTCCL); Modified: logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/layout/EventDetailLayout.java URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/layout/EventDetailLayout.java?view=diff&rev=544010&r1=544009&r2=544010 ============================================================================== --- logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/layout/EventDetailLayout.java (original) +++ logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/layout/EventDetailLayout.java Sun Jun 3 16:27:06 2007 @@ -191,16 +191,15 @@ li = formatLocationInfo(event); } Hashtable properties = formatProperties(event); - LoggingEvent copy = new LoggingEvent(); - copy.setLogger(logger); - copy.setTimeStamp(event.getTimeStamp()); - copy.setLevel(event.getLevel()); - copy.setThreadName(threadName); - copy.setMessage(msg); - copy.setNDC(ndc); - copy.setThrowableInformation(event.getThrowableInformation()); - copy.setLocationInformation(li); - copy.setProperties(properties); + LoggingEvent copy = new LoggingEvent(null, + logger, event.getTimeStamp(), + event.getLevel(), + msg, + threadName, + event.getThrowableInformation(), + ndc, + li, + properties); return copy; } Modified: logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/layout/LayoutEditorPane.java URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/layout/LayoutEditorPane.java?view=diff&rev=544010&r1=544009&r2=544010 ============================================================================== --- logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/layout/LayoutEditorPane.java (original) +++ logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/layout/LayoutEditorPane.java Sun Jun 3 16:27:06 2007 @@ -182,16 +182,16 @@ ThrowableInformation tsr = new ThrowableInformation(new Exception()); - event = new LoggingEvent(); - event.setLogger(Logger.getLogger("com.mycompany.mylogger")); - event.setTimeStamp(new Date().getTime()); - event.setLevel(org.apache.log4j.Level.DEBUG); - event.setThreadName("Thread-1"); - event.setMessage("The quick brown fox jumped over the lazy dog"); - event.setNDC("NDC string"); - event.setThrowableInformation(tsr); - event.setLocationInformation(li); - event.setProperties(hashTable); + event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getLogger("com.mycompany.mylogger"), + new Date().getTime(), + org.apache.log4j.Level.DEBUG, + "The quick brown fox jumped over the lazy dog", + "Thread-1", + tsr, + "NDC string", + li, + hashTable); }