(THRIFT-12) Make the Java library use java.util.logging instead of stdout.


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@672868 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/lib/java/src/com/facebook/thrift/server/TSimpleServer.java b/lib/java/src/com/facebook/thrift/server/TSimpleServer.java
index bf66843..1c25261 100644
--- a/lib/java/src/com/facebook/thrift/server/TSimpleServer.java
+++ b/lib/java/src/com/facebook/thrift/server/TSimpleServer.java
@@ -6,6 +6,9 @@
 
 package com.facebook.thrift.server;
 
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
 import com.facebook.thrift.TException;
 import com.facebook.thrift.TProcessor;
 import com.facebook.thrift.TProcessorFactory;
@@ -23,6 +26,8 @@
  */
 public class TSimpleServer extends TServer {
 
+  private static final Logger LOGGER = Logger.getLogger(TSimpleServer.class.getName());
+
   private boolean stopped_ = false;
 
   public TSimpleServer(TProcessor processor,
@@ -77,7 +82,7 @@
     try {
       serverTransport_.listen();
     } catch (TTransportException ttx) {
-      ttx.printStackTrace();
+      LOGGER.log(Level.SEVERE, "Error occurred during listening.", ttx);
       return;
     }
 
@@ -102,11 +107,11 @@
         // Client died, just move on
       } catch (TException tx) {
         if (!stopped_) {
-          tx.printStackTrace();
+          LOGGER.log(Level.SEVERE, "Thrift error occurred during processing of message.", tx);
         }
       } catch (Exception x) {
         if (!stopped_) {
-          x.printStackTrace();
+          LOGGER.log(Level.SEVERE, "Error occurred during processing of message.", x);
         }
       }
 
diff --git a/lib/java/src/com/facebook/thrift/server/TThreadPoolServer.java b/lib/java/src/com/facebook/thrift/server/TThreadPoolServer.java
index 7b97071..13f83a1 100644
--- a/lib/java/src/com/facebook/thrift/server/TThreadPoolServer.java
+++ b/lib/java/src/com/facebook/thrift/server/TThreadPoolServer.java
@@ -22,6 +22,8 @@
 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;
 
 
 /**
@@ -32,6 +34,8 @@
  */
 public class TThreadPoolServer extends TServer {
 
+  private static final Logger LOGGER = Logger.getLogger(TThreadPoolServer.class.getName());
+
   // Executor service for handling client connections
   private ExecutorService executorService_;
 
@@ -156,7 +160,7 @@
     try {
       serverTransport_.listen();
     } catch (TTransportException ttx) {
-      ttx.printStackTrace();
+      LOGGER.log(Level.SEVERE, "Error occurred during listening.", ttx);
       return;
     }
 
@@ -170,7 +174,7 @@
       } catch (TTransportException ttx) {
         if (!stopped_) {
           ++failureCount;
-          ttx.printStackTrace();
+          LOGGER.log(Level.WARNING, "Transport error occurred during acceptance of message.", ttx);
         }
       }
     }
@@ -237,9 +241,9 @@
       } catch (TTransportException ttx) {
         // Assume the client died and continue silently
       } catch (TException tx) {
-        tx.printStackTrace();
+        LOGGER.log(Level.SEVERE, "Thrift error occurred during processing of message.", tx);
       } catch (Exception x) {
-        x.printStackTrace();
+        LOGGER.log(Level.SEVERE, "Error occurred during processing of message.", x);
       }
 
       if (inputTransport != null) {
diff --git a/lib/java/src/com/facebook/thrift/transport/TIOStreamTransport.java b/lib/java/src/com/facebook/thrift/transport/TIOStreamTransport.java
index 5fef3b7..fd561ed 100644
--- a/lib/java/src/com/facebook/thrift/transport/TIOStreamTransport.java
+++ b/lib/java/src/com/facebook/thrift/transport/TIOStreamTransport.java
@@ -9,6 +9,8 @@
 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
@@ -20,6 +22,8 @@
  */
 public class TIOStreamTransport extends TTransport {
 
+  private static final Logger LOGGER = Logger.getLogger(TIOStreamTransport.class.getName());
+
   /** Underlying inputStream */
   protected InputStream inputStream_ = null;
 
@@ -84,8 +88,7 @@
       try {
         inputStream_.close();
       } catch (IOException iox) {
-        System.err.println("WARNING: Error closing input stream: " +
-                           iox.getMessage());
+        LOGGER.log(Level.WARNING, "Error closing input stream.", iox);
       }
       inputStream_ = null;
     }
@@ -93,8 +96,7 @@
       try {
         outputStream_.close();
       } catch (IOException iox) {
-        System.err.println("WARNING: Error closing output stream: " +
-                           iox.getMessage());
+        LOGGER.log(Level.WARNING, "Error closing output stream.", iox);
       }
       outputStream_ = null;
     }
diff --git a/lib/java/src/com/facebook/thrift/transport/TServerSocket.java b/lib/java/src/com/facebook/thrift/transport/TServerSocket.java
index 2692ac4..14a925b 100644
--- a/lib/java/src/com/facebook/thrift/transport/TServerSocket.java
+++ b/lib/java/src/com/facebook/thrift/transport/TServerSocket.java
@@ -11,6 +11,8 @@
 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.
@@ -19,6 +21,8 @@
  */
 public class TServerSocket extends TServerTransport {
 
+  private static final Logger LOGGER = Logger.getLogger(TServerSocket.class.getName());
+
   /**
    * Underlying serversocket object
    */
@@ -81,7 +85,7 @@
       try {
         serverSocket_.setSoTimeout(0);
       } catch (SocketException sx) {
-        sx.printStackTrace();
+        LOGGER.log(Level.WARNING, "Could not set socket timeout.", sx);
       }
     }
   }
@@ -105,8 +109,7 @@
       try {
         serverSocket_.close();
       } catch (IOException iox) {
-        System.err.println("WARNING: Could not close server socket: " +
-                           iox.getMessage());
+        LOGGER.log(Level.WARNING, "Could not close server socket.", iox);
       }
       serverSocket_ = null;
     }
diff --git a/lib/java/src/com/facebook/thrift/transport/TSocket.java b/lib/java/src/com/facebook/thrift/transport/TSocket.java
index 2053850..c30a478 100644
--- a/lib/java/src/com/facebook/thrift/transport/TSocket.java
+++ b/lib/java/src/com/facebook/thrift/transport/TSocket.java
@@ -12,6 +12,8 @@
 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!
@@ -20,6 +22,8 @@
  */
 public class TSocket extends TIOStreamTransport {
 
+  private static final Logger LOGGER = Logger.getLogger(TSocket.class.getName());
+
   /**
    * Wrapped Socket object
    */
@@ -52,7 +56,7 @@
       socket_.setSoLinger(false, 0);
       socket_.setTcpNoDelay(true);
     } catch (SocketException sx) {
-      sx.printStackTrace();
+      LOGGER.log(Level.WARNING, "Could not configure socket.", sx);
     }
 
     if (isOpen()) {
@@ -102,7 +106,7 @@
       socket_.setTcpNoDelay(true);
       socket_.setSoTimeout(timeout_);
     } catch (SocketException sx) {
-      sx.printStackTrace();
+      LOGGER.log(Level.WARNING, "Could not configure socket.", sx);
     }
   }
 
@@ -116,7 +120,7 @@
     try {
       socket_.setSoTimeout(timeout);
     } catch (SocketException sx) {
-      sx.printStackTrace();
+      LOGGER.log(Level.WARNING, "Could not set socket timeout.", sx);
     }
   }
 
@@ -181,8 +185,7 @@
       try {
         socket_.close();
       } catch (IOException iox) {
-        System.err.println("WARNING: exception closing socket: " +
-                           iox.getMessage());
+        LOGGER.log(Level.WARNING, "Could not close socket.", iox);
       }
       socket_ = null;
     }