Author: gdusbabek Date: Mon Dec 27 22:13:53 2010 New Revision: 1053205 URL: http://svn.apache.org/viewvc?rev=1053205&view=rev Log: log4j configuration wasn't handling configurations specified by URL. patch by Gary Dusbabek, reviewed by Jake Luciani. CASSANDRA-1907
Modified: cassandra/branches/cassandra-0.7/CHANGES.txt cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/AbstractCassandraDaemon.java Modified: cassandra/branches/cassandra-0.7/CHANGES.txt URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/CHANGES.txt?rev=1053205&r1=1053204&r2=1053205&view=diff ============================================================================== --- cassandra/branches/cassandra-0.7/CHANGES.txt (original) +++ cassandra/branches/cassandra-0.7/CHANGES.txt Mon Dec 27 22:13:53 2010 @@ -9,6 +9,7 @@ dev * avoid polluting page cache with commitlog or sstable writes and seq scan operations (CASSANDRA-1470) * add OpenBitSet to support larger bloom filters (CASSANDRA-1555) + * handle URL-specified log4j regression (CASSANDRA-1907) 0.7.0-rc3 Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/AbstractCassandraDaemon.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/AbstractCassandraDaemon.java?rev=1053205&r1=1053204&r2=1053205&view=diff ============================================================================== --- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/AbstractCassandraDaemon.java (original) +++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/AbstractCassandraDaemon.java Mon Dec 27 22:13:53 2010 @@ -21,6 +21,8 @@ package org.apache.cassandra.service; import java.io.File; import java.io.IOException; import java.net.InetAddress; +import java.net.MalformedURLException; +import java.net.URL; import java.util.UUID; import java.util.concurrent.RejectedExecutionException; import java.util.concurrent.SynchronousQueue; @@ -59,7 +61,20 @@ public abstract class AbstractCassandraD static { String config = System.getProperty("log4j.configuration", "log4j-server.properties"); - PropertyConfigurator.configureAndWatch(ClassLoader.getSystemResource(config).getFile(), 10000); + URL configLocation = null; + try + { + // try loading from a physical location first. + configLocation = new URL(config); + } + catch (MalformedURLException ex) + { + // load from the classpath. + configLocation = AbstractCassandraDaemon.class.getClassLoader().getResource(config); + if (configLocation == null) + throw new RuntimeException("Couldn't figure out log4j configuration."); + } + PropertyConfigurator.configureAndWatch(configLocation.getFile(), 10000); org.apache.log4j.Logger.getLogger(AbstractCassandraDaemon.class).info("Logging initialized"); }