You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by ol...@apache.org on 2011/06/01 14:07:28 UTC

svn commit: r1130121 - /synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/

Author: olegk
Date: Wed Jun  1 12:07:27 2011
New Revision: 1130121

URL: http://svn.apache.org/viewvc?rev=1130121&view=rev
Log:
Connection event logs to include a unique connection ID; this should  make it easier to correlate events that occur in the context of the same I/O session

Modified:
    synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/LoggingIOSession.java
    synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/LoggingNHttpClientConnection.java
    synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/LoggingNHttpServerConnection.java
    synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/LoggingUtils.java
    synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/PlainClientIOEventDispatch.java
    synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/PlainServerIOEventDispatch.java
    synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/SSLClientIOEventDispatch.java
    synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/SSLServerIOEventDispatch.java
    synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/Wire.java

Modified: synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/LoggingIOSession.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/LoggingIOSession.java?rev=1130121&r1=1130120&r2=1130121&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/LoggingIOSession.java (original)
+++ synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/LoggingIOSession.java Wed Jun  1 12:07:27 2011
@@ -23,10 +23,8 @@ import java.net.SocketAddress;
 import java.nio.ByteBuffer;
 import java.nio.channels.ByteChannel;
 import java.nio.channels.SelectionKey;
-import java.util.concurrent.atomic.AtomicLong;
 
 import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.http.nio.reactor.IOSession;
 import org.apache.http.nio.reactor.SessionBufferStatus;
 
@@ -36,32 +34,22 @@ import org.apache.http.nio.reactor.Sessi
  */
 class LoggingIOSession implements IOSession {
 
-    private static AtomicLong COUNT = new AtomicLong(0);
-    
     private final Log log;
     private final Wire wirelog;
+    private final String id;
     private final IOSession session;
     private final ByteChannel channel;
-    private final String id;
-    
-    public LoggingIOSession(
-            final Log log, 
-            final Log wirelog, 
-            final IOSession session, 
-            final String id) {
+
+    public LoggingIOSession(final IOSession session, final String id, final Log log, final Log wirelog) {
         super();
         if (session == null) {
             throw new IllegalArgumentException("I/O session may not be null");
         }
         this.session = session;
         this.channel = new LoggingByteChannel();
-        this.id = id + "-" + COUNT.incrementAndGet();
-        this.log = LogFactory.getLog(session.getClass());
-        this.wirelog = new Wire(wirelog);
-    }
-
-    public int getStatus() {
-        return this.session.getStatus();
+        this.id = id;
+        this.log = log;
+        this.wirelog = new Wire(wirelog, this.id);
     }
 
     public ByteChannel channel() {
@@ -81,7 +69,7 @@ class LoggingIOSession implements IOSess
     }
 
     private static String formatOps(int ops) {
-        StringBuffer buffer = new StringBuffer(6);
+        StringBuilder buffer = new StringBuilder(6);
         buffer.append('[');
         if ((ops & SelectionKey.OP_READ) > 0) {
             buffer.append('r');
@@ -98,45 +86,46 @@ class LoggingIOSession implements IOSess
         buffer.append(']');
         return buffer.toString();
     }
-    
+
     public void setEventMask(int ops) {
+        this.session.setEventMask(ops);
         if (this.log.isDebugEnabled()) {
-            this.log.debug("I/O session " + this.id + " " + this.session + ": Set event mask " 
-                    + formatOps(ops));
+            this.log.debug(this.id + " " + this.session + ": Event mask set " + formatOps(ops));
         }
-        this.session.setEventMask(ops);
     }
 
     public void setEvent(int op) {
+        this.session.setEvent(op);
         if (this.log.isDebugEnabled()) {
-            this.log.debug("I/O session " + this.id + " " + this.session + ": Set event " 
-                    + formatOps(op));
+            this.log.debug(this.id + " " + this.session + ": Event set " + formatOps(op));
         }
-        this.session.setEvent(op);
     }
 
     public void clearEvent(int op) {
+        this.session.clearEvent(op);
         if (this.log.isDebugEnabled()) {
-            this.log.debug("I/O session " + this.id + " " + this.session + ": Clear event " 
-                    + formatOps(op));
+            this.log.debug(this.id + " " + this.session + ": Event cleared " + formatOps(op));
         }
-        this.session.clearEvent(op);
     }
 
     public void close() {
         if (this.log.isDebugEnabled()) {
-            this.log.debug("I/O session " + this.id + " " + this.session + ": Close");
+            this.log.debug(this.id + " " + this.session + ": Close");
         }
         this.session.close();
     }
 
+    public int getStatus() {
+        return this.session.getStatus();
+    }
+
     public boolean isClosed() {
         return this.session.isClosed();
     }
 
     public void shutdown() {
         if (this.log.isDebugEnabled()) {
-            this.log.debug("I/O session " + this.id + " " + this.session + ": Shutdown");
+            this.log.debug(this.id + " " + this.session + ": Shutdown");
         }
         this.session.shutdown();
     }
@@ -147,8 +136,7 @@ class LoggingIOSession implements IOSess
 
     public void setSocketTimeout(int timeout) {
         if (this.log.isDebugEnabled()) {
-            this.log.debug("I/O session " + this.id + " " + this.session + ": Set timeout " 
-                    + timeout);
+            this.log.debug(this.id + " " + this.session + ": Set timeout " + timeout);
         }
         this.session.setSocketTimeout(timeout);
     }
@@ -171,26 +159,29 @@ class LoggingIOSession implements IOSess
 
     public void setAttribute(final String name, final Object obj) {
         if (this.log.isDebugEnabled()) {
-            this.log.debug("I/O session " + this.id + " " + this.session + ": Set attribute " 
-                    + name);
+            this.log.debug(this.id + " " + this.session + ": Set attribute " + name);
         }
         this.session.setAttribute(name, obj);
     }
 
     public Object removeAttribute(final String name) {
         if (this.log.isDebugEnabled()) {
-            this.log.debug("I/O session " + this.id + " " + this.session + ": Remove attribute " 
-                    + name);
+            this.log.debug(this.id + " " + this.session + ": Remove attribute " + name);
         }
         return this.session.removeAttribute(name);
     }
 
+    @Override
+    public String toString() {
+        return this.id + " " + this.session.toString();
+    }
+
     class LoggingByteChannel implements ByteChannel {
 
         public int read(final ByteBuffer dst) throws IOException {
             int bytesRead = session.channel().read(dst);
             if (log.isDebugEnabled()) {
-                log.debug("I/O session " + id + " " + session + ": " + bytesRead + " bytes read");
+                log.debug(id + " " + session + ": " + bytesRead + " bytes read");
             }
             if (bytesRead > 0 && wirelog.isEnabled()) {
                 ByteBuffer b = dst.duplicate();
@@ -205,7 +196,7 @@ class LoggingIOSession implements IOSess
         public int write(final ByteBuffer src) throws IOException {
             int byteWritten = session.channel().write(src);
             if (log.isDebugEnabled()) {
-                log.debug("I/O session " + id + " " + session + ": " + byteWritten + " bytes written");
+                log.debug(id + " " + session + ": " + byteWritten + " bytes written");
             }
             if (byteWritten > 0 && wirelog.isEnabled()) {
                 ByteBuffer b = src.duplicate();
@@ -219,7 +210,7 @@ class LoggingIOSession implements IOSess
 
         public void close() throws IOException {
             if (log.isDebugEnabled()) {
-                log.debug("I/O session " + id + " " + session + ": Channel close");
+                log.debug(id + " " + session + ": Channel close");
             }
             session.channel().close();
         }
@@ -227,7 +218,7 @@ class LoggingIOSession implements IOSess
         public boolean isOpen() {
             return session.channel().isOpen();
         }
-        
-    }    
-    
+
+    }
+
 }
\ No newline at end of file

Modified: synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/LoggingNHttpClientConnection.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/LoggingNHttpClientConnection.java?rev=1130121&r1=1130120&r2=1130121&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/LoggingNHttpClientConnection.java (original)
+++ synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/LoggingNHttpClientConnection.java Wed Jun  1 12:07:27 2011
@@ -20,11 +20,12 @@ package org.apache.synapse.transport.nht
 
 import java.io.IOException;
 import java.nio.channels.ReadableByteChannel;
+import java.util.concurrent.atomic.AtomicLong;
 
 import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.apache.http.Header;
 import org.apache.http.HttpException;
-import org.apache.http.HttpMessage;
 import org.apache.http.HttpRequest;
 import org.apache.http.HttpResponse;
 import org.apache.http.HttpResponseFactory;
@@ -38,108 +39,129 @@ import org.apache.http.nio.reactor.Sessi
 import org.apache.http.nio.util.ByteBufferAllocator;
 import org.apache.http.params.HttpParams;
 
-class LoggingNHttpClientConnection extends DefaultNHttpClientConnection {
+public class LoggingNHttpClientConnection extends DefaultNHttpClientConnection {
+
+    private static final AtomicLong COUNT = new AtomicLong();
 
     private final Log log;
+    private final Log iolog;
     private final Log headerlog;
+    private final Log wirelog;
+    private final String id;
 
     public LoggingNHttpClientConnection(
-            final Log log,
-            final Log headerlog,
-            final IOSession iosession,
+            final IOSession session,
             final HttpResponseFactory responseFactory,
             final ByteBufferAllocator allocator,
             final HttpParams params) {
-        super(iosession, responseFactory, allocator, params);
-        this.log = log;
-        this.headerlog = headerlog;
+        super(session, responseFactory, allocator, params);
+        this.log = LogFactory.getLog(getClass());
+        this.iolog = LogFactory.getLog(session.getClass());
+        this.headerlog = LogFactory.getLog(LoggingUtils.HEADER_LOG_ID);
+        this.wirelog = LogFactory.getLog(LoggingUtils.WIRE_LOG_ID);
+        this.id = "http-outgoing-" + COUNT.incrementAndGet();
+        if (this.iolog.isDebugEnabled() || this.wirelog.isDebugEnabled()) {
+            this.session = new LoggingIOSession(session, this.id, this.iolog, this.wirelog);
+        }
     }
 
     @Override
     public void close() throws IOException {
-        this.log.debug("Close connection");        
+        if (this.log.isDebugEnabled()) {
+            this.log.debug(this.id + ": Close connection");
+        }
         super.close();
     }
 
     @Override
     public void shutdown() throws IOException {
-        this.log.debug("Shutdown connection");        
+        if (this.log.isDebugEnabled()) {
+            this.log.debug(this.id + ": Shutdown connection");
+        }
         super.shutdown();
     }
 
     @Override
     public void submitRequest(final HttpRequest request) throws IOException, HttpException {
         if (this.log.isDebugEnabled()) {
-            this.log.debug("HTTP connection " + this + ": "  + request.getRequestLine().toString());
+            this.log.debug(this.id + ": "  + request.getRequestLine().toString());
         }
         super.submitRequest(request);
     }
 
     @Override
     public void consumeInput(final NHttpClientHandler handler) {
-        this.log.debug("Consume input");        
+        if (this.log.isDebugEnabled()) {
+            this.log.debug(this.id + ": Consume input");
+        }
         super.consumeInput(handler);
     }
 
     @Override
     public void produceOutput(final NHttpClientHandler handler) {
-        this.log.debug("Produce output");        
+        if (this.log.isDebugEnabled()) {
+            this.log.debug(this.id + ": Produce output");
+        }
         super.produceOutput(handler);
     }
 
     @Override
-    protected NHttpMessageWriter createRequestWriter(
-            final SessionOutputBuffer buffer, 
+    protected NHttpMessageWriter<HttpRequest> createRequestWriter(
+            final SessionOutputBuffer buffer,
             final HttpParams params) {
         return new LoggingNHttpMessageWriter(
                 super.createRequestWriter(buffer, params));
     }
 
     @Override
-    protected NHttpMessageParser createResponseParser(
-            final SessionInputBuffer buffer, 
+    protected NHttpMessageParser<HttpResponse> createResponseParser(
+            final SessionInputBuffer buffer,
             final HttpResponseFactory responseFactory,
             final HttpParams params) {
         return new LoggingNHttpMessageParser(
                 super.createResponseParser(buffer, responseFactory, params));
     }
 
-    class LoggingNHttpMessageWriter implements NHttpMessageWriter {
+    @Override
+    public String toString() {
+        return this.id;
+    }
+
+    class LoggingNHttpMessageWriter implements NHttpMessageWriter<HttpRequest> {
 
-        private final NHttpMessageWriter writer;
-        
-        public LoggingNHttpMessageWriter(final NHttpMessageWriter writer) {
+        private final NHttpMessageWriter<HttpRequest> writer;
+
+        public LoggingNHttpMessageWriter(final NHttpMessageWriter<HttpRequest> writer) {
             super();
             this.writer = writer;
         }
-        
+
         public void reset() {
             this.writer.reset();
         }
 
-        public void write(final HttpMessage message) throws IOException, HttpException {
+        public void write(final HttpRequest message) throws IOException, HttpException {
             if (message != null && headerlog.isDebugEnabled()) {
-                HttpRequest request = (HttpRequest) message; 
-                headerlog.debug(">> " + request.getRequestLine().toString());
-                Header[] headers = request.getAllHeaders();
+                headerlog.debug(id + " >> " + message.getRequestLine().toString());
+                Header[] headers = message.getAllHeaders();
                 for (int i = 0; i < headers.length; i++) {
-                    headerlog.debug(">> " + headers[i].toString());
+                    headerlog.debug(id + " >> " + headers[i].toString());
                 }
             }
             this.writer.write(message);
         }
-        
+
     }
-    
-    class LoggingNHttpMessageParser implements NHttpMessageParser {
 
-        private final NHttpMessageParser parser;
-        
-        public LoggingNHttpMessageParser(final NHttpMessageParser parser) {
+    class LoggingNHttpMessageParser implements NHttpMessageParser<HttpResponse> {
+
+        private final NHttpMessageParser<HttpResponse> parser;
+
+        public LoggingNHttpMessageParser(final NHttpMessageParser<HttpResponse> parser) {
             super();
             this.parser = parser;
         }
-        
+
         public void reset() {
             this.parser.reset();
         }
@@ -148,19 +170,18 @@ class LoggingNHttpClientConnection exten
             return this.parser.fillBuffer(channel);
         }
 
-        public HttpMessage parse() throws IOException, HttpException {
-            HttpMessage message = this.parser.parse();
+        public HttpResponse parse() throws IOException, HttpException {
+            HttpResponse message = this.parser.parse();
             if (message != null && headerlog.isDebugEnabled()) {
-                HttpResponse response = (HttpResponse) message; 
-                headerlog.debug("<< " + response.getStatusLine().toString());
-                Header[] headers = response.getAllHeaders();
+                headerlog.debug(id + " << " + message.getStatusLine().toString());
+                Header[] headers = message.getAllHeaders();
                 for (int i = 0; i < headers.length; i++) {
-                    headerlog.debug("<< " + headers[i].toString());
+                    headerlog.debug(id + " << " + headers[i].toString());
                 }
             }
             return message;
         }
-        
+
     }
 
-}
+}
\ No newline at end of file

Modified: synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/LoggingNHttpServerConnection.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/LoggingNHttpServerConnection.java?rev=1130121&r1=1130120&r2=1130121&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/LoggingNHttpServerConnection.java (original)
+++ synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/LoggingNHttpServerConnection.java Wed Jun  1 12:07:27 2011
@@ -20,11 +20,12 @@ package org.apache.synapse.transport.nht
 
 import java.io.IOException;
 import java.nio.channels.ReadableByteChannel;
+import java.util.concurrent.atomic.AtomicLong;
 
 import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.apache.http.Header;
 import org.apache.http.HttpException;
-import org.apache.http.HttpMessage;
 import org.apache.http.HttpRequest;
 import org.apache.http.HttpRequestFactory;
 import org.apache.http.HttpResponse;
@@ -38,108 +39,129 @@ import org.apache.http.nio.reactor.Sessi
 import org.apache.http.nio.util.ByteBufferAllocator;
 import org.apache.http.params.HttpParams;
 
-class LoggingNHttpServerConnection extends DefaultNHttpServerConnection {
+public class LoggingNHttpServerConnection extends DefaultNHttpServerConnection {
+
+    private static final AtomicLong COUNT = new AtomicLong();
 
     private final Log log;
+    private final Log iolog;
     private final Log headerlog;
-    
+    private final Log wirelog;
+    private final String id;
+
     public LoggingNHttpServerConnection(
-            final Log log,
-            final Log headerlog,
             final IOSession session,
             final HttpRequestFactory requestFactory,
             final ByteBufferAllocator allocator,
             final HttpParams params) {
         super(session, requestFactory, allocator, params);
-        this.log = log;
-        this.headerlog = headerlog;
+        this.log = LogFactory.getLog(getClass());
+        this.iolog = LogFactory.getLog(session.getClass());
+        this.headerlog = LogFactory.getLog(LoggingUtils.HEADER_LOG_ID);
+        this.wirelog = LogFactory.getLog(LoggingUtils.WIRE_LOG_ID);
+        this.id = "http-incoming-" + COUNT.incrementAndGet();
+        if (this.iolog.isDebugEnabled() || this.wirelog.isDebugEnabled()) {
+            this.session = new LoggingIOSession(session, this.id, this.iolog, this.wirelog);
+        }
     }
 
     @Override
     public void close() throws IOException {
-        this.log.debug("Close connection");        
+        if (this.log.isDebugEnabled()) {
+            this.log.debug(this.id + ": Close connection");
+        }
         super.close();
     }
 
     @Override
     public void shutdown() throws IOException {
-        this.log.debug("Shutdown connection");        
+        if (this.log.isDebugEnabled()) {
+            this.log.debug(this.id + ": Shutdown connection");
+        }
         super.shutdown();
     }
-    
+
     @Override
     public void submitResponse(final HttpResponse response) throws IOException, HttpException {
         if (this.log.isDebugEnabled()) {
-            this.log.debug("HTTP connection " + this + ": "  + response.getStatusLine().toString());
+            this.log.debug(this.id + ": "  + response.getStatusLine().toString());
         }
         super.submitResponse(response);
     }
 
     @Override
     public void consumeInput(final NHttpServiceHandler handler) {
-        this.log.debug("Consume input");        
+        if (this.log.isDebugEnabled()) {
+            this.log.debug(this.id + ": Consume input");
+        }
         super.consumeInput(handler);
     }
 
     @Override
     public void produceOutput(final NHttpServiceHandler handler) {
-        this.log.debug("Produce output");        
+        if (this.log.isDebugEnabled()) {
+            this.log.debug(this.id + ": Produce output");
+        }
         super.produceOutput(handler);
     }
-    
+
     @Override
-    protected NHttpMessageWriter createResponseWriter(
-            final SessionOutputBuffer buffer, 
+    protected NHttpMessageWriter<HttpResponse> createResponseWriter(
+            final SessionOutputBuffer buffer,
             final HttpParams params) {
         return new LoggingNHttpMessageWriter(
                 super.createResponseWriter(buffer, params));
     }
 
     @Override
-    protected NHttpMessageParser createRequestParser(
-            final SessionInputBuffer buffer, 
+    protected NHttpMessageParser<HttpRequest> createRequestParser(
+            final SessionInputBuffer buffer,
             final HttpRequestFactory requestFactory,
             final HttpParams params) {
         return new LoggingNHttpMessageParser(
                 super.createRequestParser(buffer, requestFactory, params));
     }
 
-    class LoggingNHttpMessageWriter implements NHttpMessageWriter {
+    @Override
+    public String toString() {
+        return this.id;
+    }
+
+    class LoggingNHttpMessageWriter implements NHttpMessageWriter<HttpResponse> {
+
+        private final NHttpMessageWriter<HttpResponse> writer;
 
-        private final NHttpMessageWriter writer;
-        
-        public LoggingNHttpMessageWriter(final NHttpMessageWriter writer) {
+        public LoggingNHttpMessageWriter(final NHttpMessageWriter<HttpResponse> writer) {
             super();
             this.writer = writer;
         }
-        
+
         public void reset() {
             this.writer.reset();
         }
 
-        public void write(final HttpMessage message) throws IOException, HttpException {
+        public void write(final HttpResponse message) throws IOException, HttpException {
             if (message != null && headerlog.isDebugEnabled()) {
-                HttpResponse response = (HttpResponse) message; 
-                headerlog.debug("<< " + response.getStatusLine().toString());
-                Header[] headers = response.getAllHeaders();
+                headerlog.debug(id + " << " + message.getStatusLine().toString());
+                Header[] headers = message.getAllHeaders();
                 for (int i = 0; i < headers.length; i++) {
-                    headerlog.debug("<< " + headers[i].toString());
+                    headerlog.debug(id + " << " + headers[i].toString());
                 }
             }
             this.writer.write(message);
         }
-        
+
     }
-    
-    class LoggingNHttpMessageParser implements NHttpMessageParser {
 
-        private final NHttpMessageParser parser;
-        
-        public LoggingNHttpMessageParser(final NHttpMessageParser parser) {
+    class LoggingNHttpMessageParser implements NHttpMessageParser<HttpRequest> {
+
+        private final NHttpMessageParser<HttpRequest> parser;
+
+        public LoggingNHttpMessageParser(final NHttpMessageParser<HttpRequest> parser) {
             super();
             this.parser = parser;
         }
-        
+
         public void reset() {
             this.parser.reset();
         }
@@ -148,19 +170,18 @@ class LoggingNHttpServerConnection exten
             return this.parser.fillBuffer(channel);
         }
 
-        public HttpMessage parse() throws IOException, HttpException {
-            HttpMessage message = this.parser.parse();
+        public HttpRequest parse() throws IOException, HttpException {
+            HttpRequest message = this.parser.parse();
             if (message != null && headerlog.isDebugEnabled()) {
-                HttpRequest request = (HttpRequest) message; 
-                headerlog.debug(">> " + request.getRequestLine().toString());
-                Header[] headers = request.getAllHeaders();
+                headerlog.debug(id + " >> " + message.getRequestLine().toString());
+                Header[] headers = message.getAllHeaders();
                 for (int i = 0; i < headers.length; i++) {
-                    headerlog.debug(">> " + headers[i].toString());
+                    headerlog.debug(id + " >> " + headers[i].toString());
                 }
             }
             return message;
         }
-        
+
     }
 
 }
\ No newline at end of file

Modified: synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/LoggingUtils.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/LoggingUtils.java?rev=1130121&r1=1130120&r2=1130121&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/LoggingUtils.java (original)
+++ synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/LoggingUtils.java Wed Jun  1 12:07:27 2011
@@ -23,8 +23,6 @@ import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.http.HttpRequestFactory;
 import org.apache.http.HttpResponseFactory;
-import org.apache.http.impl.nio.DefaultNHttpClientConnection;
-import org.apache.http.impl.nio.DefaultNHttpServerConnection;
 import org.apache.http.nio.NHttpClientHandler;
 import org.apache.http.nio.NHttpClientIOTarget;
 import org.apache.http.nio.NHttpServerIOTarget;
@@ -38,15 +36,6 @@ class LoggingUtils {
     public final static String HEADER_LOG_ID = "org.apache.synapse.transport.nhttp.headers"; 
     public final static String WIRE_LOG_ID = "org.apache.synapse.transport.nhttp.wire"; 
 
-    public static IOSession decorate(IOSession session, final String id) {
-        Log log = LogFactory.getLog(session.getClass());
-        Log wirelog = LogFactory.getLog(WIRE_LOG_ID);
-        if (wirelog.isDebugEnabled() || log.isDebugEnabled()) {
-            session = new LoggingIOSession(log, wirelog, session, id);
-        }
-        return session;
-    }
-    
     public static NHttpClientHandler decorate(NHttpClientHandler handler) {
         Log log = LogFactory.getLog(handler.getClass());
         if (log.isDebugEnabled()) {
@@ -68,23 +57,11 @@ class LoggingUtils {
             final HttpResponseFactory responseFactory,
             final ByteBufferAllocator allocator,
             final HttpParams params) {
-        Log log = LogFactory.getLog(DefaultNHttpClientConnection.class);
-        Log headerlog = LogFactory.getLog(HEADER_LOG_ID);        
-        if (headerlog.isDebugEnabled() || log.isDebugEnabled()) {
-            return new LoggingNHttpClientConnection(
-                    log, 
-                    headerlog, 
-                    iosession, 
-                    responseFactory,
-                    allocator,
-                    params);
-        } else {
-            return new DefaultNHttpClientConnection(
-                    iosession, 
-                    responseFactory,
-                    allocator,
-                    params);
-        }
+        return new LoggingNHttpClientConnection(
+                iosession, 
+                responseFactory,
+                allocator,
+                params);
     }
 
     public static NHttpServerIOTarget createServerConnection(
@@ -92,23 +69,11 @@ class LoggingUtils {
             final HttpRequestFactory requestFactory,
             final ByteBufferAllocator allocator,
             final HttpParams params) {
-        Log log = LogFactory.getLog(DefaultNHttpClientConnection.class);
-        Log headerlog = LogFactory.getLog(HEADER_LOG_ID);        
-        if (headerlog.isDebugEnabled() || log.isDebugEnabled()) {
-            return new LoggingNHttpServerConnection(
-                    log, 
-                    headerlog, 
-                    iosession, 
-                    requestFactory,
-                    allocator,
-                    params);
-        } else {
-            return new DefaultNHttpServerConnection(
-                    iosession, 
-                    requestFactory,
-                    allocator,
-                    params);
-        }
+        return new LoggingNHttpServerConnection(
+                iosession, 
+                requestFactory,
+                allocator,
+                params);
     }
     
 }
\ No newline at end of file

Modified: synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/PlainClientIOEventDispatch.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/PlainClientIOEventDispatch.java?rev=1130121&r1=1130120&r2=1130121&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/PlainClientIOEventDispatch.java (original)
+++ synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/PlainClientIOEventDispatch.java Wed Jun  1 12:07:27 2011
@@ -32,7 +32,6 @@ public class PlainClientIOEventDispatch 
     
     @Override
     protected NHttpClientIOTarget createConnection(IOSession session) {
-        session = LoggingUtils.decorate(session, "client");
         return LoggingUtils.createClientConnection(
                 session, 
                 createHttpResponseFactory(), 

Modified: synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/PlainServerIOEventDispatch.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/PlainServerIOEventDispatch.java?rev=1130121&r1=1130120&r2=1130121&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/PlainServerIOEventDispatch.java (original)
+++ synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/PlainServerIOEventDispatch.java Wed Jun  1 12:07:27 2011
@@ -32,7 +32,6 @@ public class PlainServerIOEventDispatch 
     
     @Override
     protected NHttpServerIOTarget createConnection(IOSession session) {
-        session = LoggingUtils.decorate(session, "server");
         return LoggingUtils.createServerConnection(
                 session, 
                 createHttpRequestFactory(), 

Modified: synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/SSLClientIOEventDispatch.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/SSLClientIOEventDispatch.java?rev=1130121&r1=1130120&r2=1130121&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/SSLClientIOEventDispatch.java (original)
+++ synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/SSLClientIOEventDispatch.java Wed Jun  1 12:07:27 2011
@@ -71,7 +71,6 @@ public class SSLClientIOEventDispatch 
     }
 
     protected NHttpClientIOTarget createConnection(IOSession session) {
-        session = LoggingUtils.decorate(session, "sslclient");
         return LoggingUtils.createClientConnection(
                 session, 
                 createHttpResponseFactory(), 

Modified: synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/SSLServerIOEventDispatch.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/SSLServerIOEventDispatch.java?rev=1130121&r1=1130120&r2=1130121&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/SSLServerIOEventDispatch.java (original)
+++ synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/SSLServerIOEventDispatch.java Wed Jun  1 12:07:27 2011
@@ -46,7 +46,6 @@ public class SSLServerIOEventDispatch 
     
     @Override
     protected NHttpServerIOTarget createConnection(IOSession session) {
-        session = LoggingUtils.decorate(session, "sslserver");
         return LoggingUtils.createServerConnection(
                 session, 
                 createHttpRequestFactory(), 

Modified: synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/Wire.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/Wire.java?rev=1130121&r1=1130120&r2=1130121&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/Wire.java (original)
+++ synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/Wire.java Wed Jun  1 12:07:27 2011
@@ -25,10 +25,12 @@ import org.apache.commons.logging.Log;
 class Wire {
 
     private final Log log;
+    private final String id;
     
-    public Wire(final Log log) {
+    public Wire(final Log log, final String id) {
         super();
         this.log = log;
+        this.id = id;
     }
     
     private void wire(final String header, final byte[] b, int pos, int off) {
@@ -41,7 +43,7 @@ class Wire {
                     buffer.append("[\\n]\"");
                     buffer.insert(0, "\"");
                     buffer.insert(0, header);
-                    this.log.debug(buffer.toString());
+                    this.log.debug(this.id + " " + buffer.toString());
                     buffer.setLength(0);
             } else if ((ch < 32) || (ch > 127)) {
                 buffer.append("[0x");
@@ -55,7 +57,7 @@ class Wire {
             buffer.append('\"');
             buffer.insert(0, '\"');
             buffer.insert(0, header);
-            this.log.debug(buffer.toString());
+            this.log.debug(this.id + " " + buffer.toString());
         }
     }