THRIFT-416. java: java.util.logging eats exceptions without warning
This patch switches the logging framework to log4j and updates all the server implementations accordingly.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@763981 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/lib/java/build.xml b/lib/java/build.xml
index 05cf9cd..6778f2c 100644
--- a/lib/java/build.xml
+++ b/lib/java/build.xml
@@ -42,7 +42,7 @@
</target>
<target name="compile" depends="init">
- <javac srcdir="${src}" destdir="${build}" source="1.5" debug="true"/>
+ <javac srcdir="${src}" destdir="${build}" source="1.5" debug="true" classpath="${cpath}" />
</target>
<target name="javadoc" depends="init">
diff --git a/lib/java/src/org/apache/thrift/server/TNonblockingServer.java b/lib/java/src/org/apache/thrift/server/TNonblockingServer.java
index a6620eb..95d81e2 100644
--- a/lib/java/src/org/apache/thrift/server/TNonblockingServer.java
+++ b/lib/java/src/org/apache/thrift/server/TNonblockingServer.java
@@ -29,8 +29,8 @@
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
-import java.util.logging.Level;
-import java.util.logging.Logger;
+
+import org.apache.log4j.Logger;
import org.apache.thrift.TByteArrayOutputStream;
import org.apache.thrift.TException;
@@ -199,7 +199,7 @@
serverTransport_.listen();
return true;
} catch (TTransportException ttx) {
- LOGGER.log(Level.SEVERE, "Failed to start listening on server socket!", ttx);
+ LOGGER.error("Failed to start listening on server socket!", ttx);
return false;
}
}
@@ -224,7 +224,7 @@
selectThread_.start();
return true;
} catch (IOException e) {
- LOGGER.log(Level.SEVERE, "Failed to start selector thread!", e);
+ LOGGER.error("Failed to start selector thread!", e);
return false;
}
}
@@ -356,11 +356,11 @@
// deal with writes
handleWrite(key);
} else {
- LOGGER.log(Level.WARNING, "Unexpected state in select! " + key.interestOps());
+ LOGGER.warn("Unexpected state in select! " + key.interestOps());
}
}
} catch (IOException e) {
- LOGGER.log(Level.WARNING, "Got an IOException while selecting!", e);
+ LOGGER.warn("Got an IOException while selecting!", e);
}
}
@@ -393,7 +393,7 @@
clientKey.attach(frameBuffer);
} catch (TTransportException tte) {
// something went wrong accepting.
- LOGGER.log(Level.WARNING, "Exception trying to accept!", tte);
+ LOGGER.warn("Exception trying to accept!", tte);
tte.printStackTrace();
if (clientKey != null) cleanupSelectionkey(clientKey);
if (client != null) client.close();
@@ -512,7 +512,7 @@
// pull out the frame size as an integer.
int frameSize = buffer_.getInt(0);
if (frameSize <= 0) {
- LOGGER.severe("Read an invalid frame size of " + frameSize
+ LOGGER.error("Read an invalid frame size of " + frameSize
+ ". Are you using TFramedTransport on the client side?");
return false;
}
@@ -520,7 +520,7 @@
// if this frame will always be too large for this server, log the
// error and close the connection.
if (frameSize + 4 > MAX_READ_BUFFER_BYTES) {
- LOGGER.severe("Read a frame size of " + frameSize
+ LOGGER.error("Read a frame size of " + frameSize
+ ", which is bigger than the maximum allowable buffer size for ALL connections.");
return false;
}
@@ -569,7 +569,7 @@
}
// if we fall through to this point, then the state must be invalid.
- LOGGER.severe("Read was called but state is invalid (" + state_ + ")");
+ LOGGER.error("Read was called but state is invalid (" + state_ + ")");
return false;
}
@@ -583,7 +583,7 @@
return false;
}
} catch (IOException e) {
- LOGGER.log(Level.WARNING, "Got an IOException during write!", e);
+ LOGGER.warn("Got an IOException during write!", e);
return false;
}
@@ -594,7 +594,7 @@
return true;
}
- LOGGER.severe("Write was called, but state is invalid (" + state_ + ")");
+ LOGGER.error("Write was called, but state is invalid (" + state_ + ")");
return false;
}
@@ -613,7 +613,7 @@
close();
selectionKey_.cancel();
} else {
- LOGGER.severe(
+ LOGGER.error(
"changeSelectInterest was called, but state is invalid ("
+ state_ + ")");
}
@@ -682,9 +682,9 @@
responseReady();
return;
} catch (TException te) {
- LOGGER.log(Level.WARNING, "Exception while invoking!", te);
+ LOGGER.warn("Exception while invoking!", te);
} catch (Exception e) {
- LOGGER.log(Level.SEVERE, "Unexpected exception while invoking!", e);
+ LOGGER.error("Unexpected exception while invoking!", e);
}
// This will only be reached when there is an exception.
state_ = AWAITING_CLOSE;
@@ -721,7 +721,7 @@
}
return true;
} catch (IOException e) {
- LOGGER.log(Level.WARNING, "Got an IOException in internalRead!", e);
+ LOGGER.warn("Got an IOException in internalRead!", e);
return false;
}
}
diff --git a/lib/java/src/org/apache/thrift/server/TSimpleServer.java b/lib/java/src/org/apache/thrift/server/TSimpleServer.java
index c053d97..b3ee5ad 100644
--- a/lib/java/src/org/apache/thrift/server/TSimpleServer.java
+++ b/lib/java/src/org/apache/thrift/server/TSimpleServer.java
@@ -19,9 +19,6 @@
package org.apache.thrift.server;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
import org.apache.thrift.TException;
import org.apache.thrift.TProcessor;
import org.apache.thrift.TProcessorFactory;
@@ -31,6 +28,7 @@
import org.apache.thrift.transport.TTransport;
import org.apache.thrift.transport.TTransportFactory;
import org.apache.thrift.transport.TTransportException;
+import org.apache.log4j.Logger;
/**
* Simple singlethreaded server for testing.
@@ -94,7 +92,7 @@
try {
serverTransport_.listen();
} catch (TTransportException ttx) {
- LOGGER.log(Level.SEVERE, "Error occurred during listening.", ttx);
+ LOGGER.error("Error occurred during listening.", ttx);
return;
}
@@ -119,11 +117,11 @@
// Client died, just move on
} catch (TException tx) {
if (!stopped_) {
- LOGGER.log(Level.SEVERE, "Thrift error occurred during processing of message.", tx);
+ LOGGER.error("Thrift error occurred during processing of message.", tx);
}
} catch (Exception x) {
if (!stopped_) {
- LOGGER.log(Level.SEVERE, "Error occurred during processing of message.", x);
+ LOGGER.error("Error occurred during processing of message.", x);
}
}
diff --git a/lib/java/src/org/apache/thrift/server/TThreadPoolServer.java b/lib/java/src/org/apache/thrift/server/TThreadPoolServer.java
index 68280ab..ebc5a9b 100644
--- a/lib/java/src/org/apache/thrift/server/TThreadPoolServer.java
+++ b/lib/java/src/org/apache/thrift/server/TThreadPoolServer.java
@@ -29,14 +29,14 @@
import org.apache.thrift.transport.TTransport;
import org.apache.thrift.transport.TTransportException;
import org.apache.thrift.transport.TTransportFactory;
+import org.apache.log4j.Logger;
+import org.apache.log4j.Level;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.SynchronousQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
-import java.util.logging.Level;
-import java.util.logging.Logger;
/**
@@ -172,7 +172,7 @@
try {
serverTransport_.listen();
} catch (TTransportException ttx) {
- LOGGER.log(Level.SEVERE, "Error occurred during listening.", ttx);
+ LOGGER.error("Error occurred during listening.", ttx);
return;
}
@@ -186,7 +186,7 @@
} catch (TTransportException ttx) {
if (!stopped_) {
++failureCount;
- LOGGER.log(Level.WARNING, "Transport error occurred during acceptance of message.", ttx);
+ LOGGER.warn("Transport error occurred during acceptance of message.", ttx);
}
}
}
@@ -253,9 +253,9 @@
} catch (TTransportException ttx) {
// Assume the client died and continue silently
} catch (TException tx) {
- LOGGER.log(Level.SEVERE, "Thrift error occurred during processing of message.", tx);
+ LOGGER.error("Thrift error occurred during processing of message.", tx);
} catch (Exception x) {
- LOGGER.log(Level.SEVERE, "Error occurred during processing of message.", x);
+ LOGGER.error("Error occurred during processing of message.", x);
}
if (inputTransport != null) {
diff --git a/lib/java/src/org/apache/thrift/transport/TIOStreamTransport.java b/lib/java/src/org/apache/thrift/transport/TIOStreamTransport.java
index 4a714a6..89cdb58 100644
--- a/lib/java/src/org/apache/thrift/transport/TIOStreamTransport.java
+++ b/lib/java/src/org/apache/thrift/transport/TIOStreamTransport.java
@@ -19,11 +19,11 @@
package org.apache.thrift.transport;
+import org.apache.log4j.Logger;
+
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
-import java.util.logging.Level;
-import java.util.logging.Logger;
/**
* This is the most commonly used base transport. It takes an InputStream
@@ -100,7 +100,7 @@
try {
inputStream_.close();
} catch (IOException iox) {
- LOGGER.log(Level.WARNING, "Error closing input stream.", iox);
+ LOGGER.warn("Error closing input stream.", iox);
}
inputStream_ = null;
}
@@ -108,7 +108,7 @@
try {
outputStream_.close();
} catch (IOException iox) {
- LOGGER.log(Level.WARNING, "Error closing output stream.", iox);
+ LOGGER.warn("Error closing output stream.", iox);
}
outputStream_ = null;
}
diff --git a/lib/java/src/org/apache/thrift/transport/TServerSocket.java b/lib/java/src/org/apache/thrift/transport/TServerSocket.java
index e6cd113..796cd65 100644
--- a/lib/java/src/org/apache/thrift/transport/TServerSocket.java
+++ b/lib/java/src/org/apache/thrift/transport/TServerSocket.java
@@ -19,13 +19,13 @@
package org.apache.thrift.transport;
+import org.apache.log4j.Logger;
+
import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.SocketException;
-import java.util.logging.Level;
-import java.util.logging.Logger;
/**
* Wrapper around ServerSocket for Thrift.
@@ -105,7 +105,7 @@
try {
serverSocket_.setSoTimeout(0);
} catch (SocketException sx) {
- LOGGER.log(Level.WARNING, "Could not set socket timeout.", sx);
+ LOGGER.error("Could not set socket timeout.", sx);
}
}
}
@@ -129,7 +129,7 @@
try {
serverSocket_.close();
} catch (IOException iox) {
- LOGGER.log(Level.WARNING, "Could not close server socket.", iox);
+ LOGGER.warn("Could not close server socket.", iox);
}
serverSocket_ = null;
}
diff --git a/lib/java/src/org/apache/thrift/transport/TSocket.java b/lib/java/src/org/apache/thrift/transport/TSocket.java
index 333e9be..cdf1bcc 100644
--- a/lib/java/src/org/apache/thrift/transport/TSocket.java
+++ b/lib/java/src/org/apache/thrift/transport/TSocket.java
@@ -19,14 +19,14 @@
package org.apache.thrift.transport;
+import org.apache.log4j.Logger;
+
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.Socket;
import java.net.SocketException;
-import java.util.logging.Level;
-import java.util.logging.Logger;
/**
* Socket implementation of the TTransport interface. To be commented soon!
@@ -68,7 +68,7 @@
socket_.setSoLinger(false, 0);
socket_.setTcpNoDelay(true);
} catch (SocketException sx) {
- LOGGER.log(Level.WARNING, "Could not configure socket.", sx);
+ LOGGER.warn("Could not configure socket.", sx);
}
if (isOpen()) {
@@ -118,7 +118,7 @@
socket_.setTcpNoDelay(true);
socket_.setSoTimeout(timeout_);
} catch (SocketException sx) {
- LOGGER.log(Level.WARNING, "Could not configure socket.", sx);
+ LOGGER.error("Could not configure socket.", sx);
}
}
@@ -132,7 +132,7 @@
try {
socket_.setSoTimeout(timeout);
} catch (SocketException sx) {
- LOGGER.log(Level.WARNING, "Could not set socket timeout.", sx);
+ LOGGER.warn("Could not set socket timeout.", sx);
}
}
@@ -197,7 +197,7 @@
try {
socket_.close();
} catch (IOException iox) {
- LOGGER.log(Level.WARNING, "Could not close socket.", iox);
+ LOGGER.warn("Could not close socket.", iox);
}
socket_ = null;
}