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");
}