Log an exception with a stack trace when a connection is disconnected.
[jSite.git] / src / main / java / de / todesbaum / util / freenet / fcp2 / Connection.java
index c4cb669..ea40d1f 100644 (file)
@@ -18,6 +18,9 @@
 
 package de.todesbaum.util.freenet.fcp2;
 
+import static java.util.logging.Level.FINE;
+import static java.util.logging.Logger.getLogger;
+
 import java.io.File;
 import java.io.FileOutputStream;
 import java.io.IOException;
@@ -29,11 +32,12 @@ import java.net.Socket;
 import java.nio.charset.Charset;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.logging.Logger;
 
-import de.todesbaum.util.io.Closer;
+import net.pterodactylus.util.io.Closer;
+import net.pterodactylus.util.io.StreamCopier;
+import net.pterodactylus.util.io.StreamCopier.ProgressListener;
 import de.todesbaum.util.io.LineInputStream;
-import de.todesbaum.util.io.StreamCopier;
-import de.todesbaum.util.io.StreamCopier.ProgressListener;
 import de.todesbaum.util.io.TempFileInputStream;
 
 /**
@@ -44,6 +48,8 @@ import de.todesbaum.util.io.TempFileInputStream;
  */
 public class Connection {
 
+       private static final Logger logger = getLogger(Connection.class.getName());
+
        /** The listeners that receive events from this connection. */
        private List<ConnectionListener> connectionListeners = new ArrayList<ConnectionListener>();
 
@@ -227,6 +233,7 @@ public class Connection {
                synchronized (this) {
                        notify();
                }
+               logger.log(FINE, "Connection terminated.", new Exception());
                fireConnectionTerminated();
        }
 
@@ -268,7 +275,7 @@ public class Connection {
                        InputStream payloadInputStream = null;
                        try {
                                payloadInputStream = command.getPayload();
-                               StreamCopier.copy(payloadInputStream, nodeOutputStream, command.getPayloadLength(), progressListener);
+                               StreamCopier.copy(payloadInputStream, nodeOutputStream, progressListener, command.getPayloadLength());
                        } finally {
                                Closer.close(payloadInputStream);
                        }