Author: hiranya
Date: Sun Aug 11 06:52:43 2013
New Revision: 1512883
URL: http://svn.apache.org/r1512883
Log:
Some java docs to the new logging package
Modified:
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/PassThroughHttpListener.java
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/PassThroughHttpSender.java
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/config/HttpTransportConfiguration.java
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingClientEventHandler.java
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingIOSession.java
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpClientConnection.java
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpClientConnectionFactory.java
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpSSLClientConnectionFactory.java
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpSSLServerConnectionFactory.java
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpServerConnection.java
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpServerConnectionFactory.java
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingServerEventHandler.java
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingUtils.java
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/Wire.java
Modified:
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/PassThroughHttpListener.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/PassThroughHttpListener.java?rev=1512883&r1=1512882&r2=1512883&view=diff
==============================================================================
---
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/PassThroughHttpListener.java
(original)
+++
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/PassThroughHttpListener.java
Sun Aug 11 06:52:43 2013
@@ -80,8 +80,10 @@ public class PassThroughHttpListener imp
/** The custom URI map for the services if there are any */
private Map<String, String> serviceNameToEPRMap = new HashMap<String,
String>();
+
/** The service name map for the custom URI if there are any */
private Map<String, String> eprToServiceNameMap = new HashMap<String,
String>();
+
/** the axis observer that gets notified of service life cycle events*/
private final AxisObserver axisObserver = new GenericAxisObserver();
@@ -137,10 +139,10 @@ public class PassThroughHttpListener imp
log.info("Starting pass-through " + namePrefix + " listener...");
try {
- String prefix = namePrefix + "-Listener I/O dispatcher";
+ String prefix = namePrefix + "-PT-Listener I/O Dispatcher";
ioReactor = new DefaultListeningIOReactor(
sourceConfiguration.getReactorConfig(),
- new NativeThreadFactory(new ThreadGroup(prefix + "
thread group"), prefix));
+ new NativeThreadFactory(new ThreadGroup(prefix + "
Thread Group"), prefix));
ioReactor.setExceptionHandler(new IOReactorExceptionHandler() {
Modified:
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/PassThroughHttpSender.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/PassThroughHttpSender.java?rev=1512883&r1=1512882&r2=1512883&view=diff
==============================================================================
---
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/PassThroughHttpSender.java
(original)
+++
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/PassThroughHttpSender.java
Sun Aug 11 06:52:43 2013
@@ -171,7 +171,7 @@ public class PassThroughHttpSender exten
targetConfiguration.setMetrics(metrics);
try {
- String prefix = namePrefix + "-Sender I/O dispatcher";
+ String prefix = namePrefix + "-PT-Sender I/O Dispatcher";
ioReactor = new DefaultConnectingIOReactor(
targetConfiguration.getReactorConfig(),
Modified:
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/config/HttpTransportConfiguration.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/config/HttpTransportConfiguration.java?rev=1512883&r1=1512882&r2=1512883&view=diff
==============================================================================
---
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/config/HttpTransportConfiguration.java
(original)
+++
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/config/HttpTransportConfiguration.java
Sun Aug 11 06:52:43 2013
@@ -28,20 +28,40 @@ import org.apache.synapse.commons.util.M
import java.nio.charset.CodingErrorAction;
import java.util.Properties;
+/**
+ * A base class for parsing transport configuration files and initializing
basic
+ * HTTP Core configuration objects.
+ */
public abstract class HttpTransportConfiguration {
protected Log log = LogFactory.getLog(this.getClass());
private Properties props;
+ /**
+ * Create a new HttpTransportConfiguration instance.
+ *
+ * @param fileName Name of the file (without extensions) from where the
transport
+ * configuration should be loaded.
+ */
public HttpTransportConfiguration(String fileName) {
try {
props = MiscellaneousUtil.loadProperties(fileName + ".properties");
} catch (Exception ignored) {}
}
+ /**
+ * Get the number of I/O dispatcher threads that should be used in each
IOReactor.
+ *
+ * @return A positive integer
+ */
abstract protected int getThreadsPerReactor();
+ /**
+ * Get the IOReactor configuration
+ *
+ * @return A fully initialized IOReactorConfig instance
+ */
public IOReactorConfig getReactorConfig() {
IOReactorConfig.Builder builder = IOReactorConfig.custom()
.setIoThreadCount(getThreadsPerReactor())
@@ -66,6 +86,11 @@ public abstract class HttpTransportConfi
return builder.build();
}
+ /**
+ * Get the connection configuration
+ *
+ * @return A fully initialized ConnectionConfig instance
+ */
public ConnectionConfig getConnectionConfig() {
return ConnectionConfig.custom()
.setBufferSize(getIntProperty(HttpConfigConstants.SOCKET_BUFFER_SIZE, 8 * 1024))
Modified:
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingClientEventHandler.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingClientEventHandler.java?rev=1512883&r1=1512882&r2=1512883&view=diff
==============================================================================
---
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingClientEventHandler.java
(original)
+++
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingClientEventHandler.java
Sun Aug 11 06:52:43 2013
@@ -30,16 +30,30 @@ import org.apache.http.nio.NHttpClientEv
import java.io.IOException;
+/**
+ * A decorator (wrapper) for NHttpClientEventHandler instances. This decorator
+ * logs additional debug information regarding each of the events triggered on
the
+ * actual NHttpClientEventHandler instance. Most events are logged 'before'
they are
+ * dispatched to the wrapped NHttpClientEventHandler, but this implementation
does
+ * not modify the event arguments by any means. In that sense this decorator is
+ * read-only and safe. This implementation does not log the exception event.
It is
+ * expected that the actual NHttpClientEventHandler will take the necessary
steps to
+ * log exceptions.
+ */
public class LoggingClientEventHandler implements NHttpClientEventHandler {
private final Log log;
private final NHttpClientEventHandler handler;
+ /**
+ * Create a new instance of the decorator.
+ *
+ * @param handler The instance of NHttpClientEventHandler to be decorated
(wrapped)
+ */
public LoggingClientEventHandler(final NHttpClientEventHandler handler) {
- super();
if (handler == null) {
- throw new IllegalArgumentException("HTTP client handler may not be
null");
+ throw new IllegalArgumentException("HTTP client handler must not
be null");
}
this.handler = handler;
this.log = LogFactory.getLog(handler.getClass());
@@ -73,14 +87,14 @@ public class LoggingClientEventHandler i
public void requestReady(final NHttpClientConnection conn) throws
IOException, HttpException {
if (this.log.isDebugEnabled()) {
- this.log.debug("HTTP connection " + conn + ": InRequest ready" +
getRequestMessageID(conn));
+ this.log.debug("HTTP connection " + conn + ": InRequest ready");
}
this.handler.requestReady(conn);
}
public void outputReady(final NHttpClientConnection conn, final
ContentEncoder encoder) throws IOException, HttpException {
if (this.log.isDebugEnabled()) {
- this.log.debug("HTTP connection " + conn + ": Output ready" +
getRequestMessageID(conn));
+ this.log.debug("HTTP connection " + conn + ": Output ready");
}
this.handler.outputReady(conn, encoder);
if (this.log.isDebugEnabled()) {
@@ -91,15 +105,14 @@ public class LoggingClientEventHandler i
public void responseReceived(final NHttpClientConnection conn) throws
IOException, HttpException {
HttpResponse response = conn.getHttpResponse();
if (this.log.isDebugEnabled()) {
- this.log.debug("HTTP connection " + conn + " : "
- + response.getStatusLine() + getRequestMessageID(conn));
+ this.log.debug("HTTP connection " + conn + " : " +
response.getStatusLine());
}
this.handler.responseReceived(conn);
}
public void inputReady(final NHttpClientConnection conn, final
ContentDecoder decoder) throws IOException, HttpException {
if (this.log.isDebugEnabled()) {
- this.log.debug("HTTP connection " + conn + ": Input ready" +
getRequestMessageID(conn));
+ this.log.debug("HTTP connection " + conn + ": Input ready");
}
this.handler.inputReady(conn, decoder);
if (this.log.isDebugEnabled()) {
@@ -109,17 +122,8 @@ public class LoggingClientEventHandler i
public void timeout(final NHttpClientConnection conn) throws IOException,
HttpException {
if (this.log.isDebugEnabled()) {
- this.log.debug("HTTP connection " + conn + ": Timeout" +
getRequestMessageID(conn));
+ this.log.debug("HTTP connection " + conn + ": Timeout");
}
this.handler.timeout(conn);
}
-
- private static String getRequestMessageID(final NHttpClientConnection
conn) {
- /*Axis2HttpRequest axis2Request = (Axis2HttpRequest)
-
conn.getContext().getAttribute(ClientHandler.AXIS2_HTTP_REQUEST);
- if (axis2Request != null) {
- return " [InRequest Message ID : " +
axis2Request.getMsgContext().getMessageID() + "]";
- }*/
- return "";
- }
}
Modified:
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingIOSession.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingIOSession.java?rev=1512883&r1=1512882&r2=1512883&view=diff
==============================================================================
---
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingIOSession.java
(original)
+++
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingIOSession.java
Sun Aug 11 06:52:43 2013
@@ -31,6 +31,14 @@ import java.nio.channels.ByteChannel;
import java.nio.channels.SelectionKey;
import java.util.concurrent.atomic.AtomicLong;
+/**
+ * A decorator (wrapper) for IOSession instances. This decorator logs
additional
+ * debug information regarding each of the events triggered on the actual
IOSession
+ * instance. Most events are logged 'before' they are dispatched to the wrapped
+ * IOSession, but this implementation does not modify the event arguments by
any means.
+ * In that sense this decorator is read-only and safe. This implementation
also facilitates
+ * intercepting and logging HTTP messages at wire-level.
+ */
public class LoggingIOSession implements IOSession {
private static AtomicLong COUNT = new AtomicLong(0);
@@ -41,14 +49,22 @@ public class LoggingIOSession implements
private final ByteChannel channel;
private final String id;
+ /**
+ * Create a new instance of the decorator.
+ *
+ * @param sessionLog Log instance used to log IOSession events.
+ * @param wireLog Log instance used to log wire-level HTTP messages.
+ * @param session IOSession to be decorated.
+ * @param id An identifier (name) that will be attached to the IOSession
for the logging
+ * purposes.
+ */
public LoggingIOSession(
final Log sessionLog,
final Log wireLog,
final IOSession session,
final String id) {
- super();
if (session == null) {
- throw new IllegalArgumentException("I/O session may not be null");
+ throw new IllegalArgumentException("I/O session must not be null");
}
this.session = session;
this.channel = new LoggingByteChannel();
Modified:
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpClientConnection.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpClientConnection.java?rev=1512883&r1=1512882&r2=1512883&view=diff
==============================================================================
---
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpClientConnection.java
(original)
+++
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpClientConnection.java
Sun Aug 11 06:52:43 2013
@@ -36,6 +36,11 @@ import java.io.IOException;
import java.nio.charset.CharsetDecoder;
import java.nio.charset.CharsetEncoder;
+/**
+ * An extension of the DefaultNHttpClientConnection class, that provides some
+ * additional logging features. This implementation enhances the default
connection
+ * class by logging all the major events that occur on the connection instance.
+ */
public class LoggingNHttpClientConnection extends DefaultNHttpClientConnection
{
private final Log log;
Modified:
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpClientConnectionFactory.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpClientConnectionFactory.java?rev=1512883&r1=1512882&r2=1512883&view=diff
==============================================================================
---
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpClientConnectionFactory.java
(original)
+++
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpClientConnectionFactory.java
Sun Aug 11 06:52:43 2013
@@ -40,6 +40,13 @@ import org.apache.http.nio.util.HeapByte
import java.io.IOException;
+/**
+ * A connection factory implementation for DefaultNHttpClientConnection
instances.
+ * Based on the current logging configuration, this factory decides whether to
create
+ * regular DefaultNHttpClientConnection objects or to create
LoggingNHttpClientConnection
+ * objects. Also, depending on the logging configuration, this factory may
choose to
+ * wrap IOSession instances in LoggingIOSession objects.
+ */
public class LoggingNHttpClientConnectionFactory implements
NHttpConnectionFactory<DefaultNHttpClientConnection> {
private static final Log targetConnLog = LogFactory.getLog(
Modified:
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpSSLClientConnectionFactory.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpSSLClientConnectionFactory.java?rev=1512883&r1=1512882&r2=1512883&view=diff
==============================================================================
---
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpSSLClientConnectionFactory.java
(original)
+++
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpSSLClientConnectionFactory.java
Sun Aug 11 06:52:43 2013
@@ -30,6 +30,12 @@ import javax.net.ssl.SSLContext;
import java.net.InetSocketAddress;
import java.util.Map;
+/**
+ * The SSL-enabled version of the LoggingNHttpClientConnectionFactory.
Identical in behavior
+ * to the parent class, but wraps IOSession instances with SSLIOSession
instances. This
+ * implementation also supports using different SSLContext instances for
different target
+ * I/O sessions.
+ */
public class LoggingNHttpSSLClientConnectionFactory extends
LoggingNHttpClientConnectionFactory {
private SSLContext sslContext;
Modified:
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpSSLServerConnectionFactory.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpSSLServerConnectionFactory.java?rev=1512883&r1=1512882&r2=1512883&view=diff
==============================================================================
---
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpSSLServerConnectionFactory.java
(original)
+++
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpSSLServerConnectionFactory.java
Sun Aug 11 06:52:43 2013
@@ -28,6 +28,10 @@ import org.apache.http.nio.reactor.ssl.S
import javax.net.ssl.SSLContext;
+/**
+ * The SSL-enabled version of the LoggingNHttpServerConnectionFactory.
Identical in behavior
+ * to the parent class, but wraps IOSession instances with SSLIOSession
instances.
+ */
public class LoggingNHttpSSLServerConnectionFactory extends
LoggingNHttpServerConnectionFactory {
private SSLContext sslContext;
Modified:
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpServerConnection.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpServerConnection.java?rev=1512883&r1=1512882&r2=1512883&view=diff
==============================================================================
---
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpServerConnection.java
(original)
+++
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpServerConnection.java
Sun Aug 11 06:52:43 2013
@@ -36,6 +36,11 @@ import java.io.IOException;
import java.nio.charset.CharsetDecoder;
import java.nio.charset.CharsetEncoder;
+/**
+ * An extension of the DefaultNHttpServerConnection class, that provides some
+ * additional logging features. This implementation enhances the default
connection
+ * class by logging all the major events that occur on the connection instance.
+ */
public class LoggingNHttpServerConnection extends DefaultNHttpServerConnection
{
private final Log log;
Modified:
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpServerConnectionFactory.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpServerConnectionFactory.java?rev=1512883&r1=1512882&r2=1512883&view=diff
==============================================================================
---
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpServerConnectionFactory.java
(original)
+++
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpServerConnectionFactory.java
Sun Aug 11 06:52:43 2013
@@ -40,6 +40,13 @@ import org.apache.http.nio.util.HeapByte
import java.io.IOException;
+/**
+ * A connection factory implementation for DefaultNHttpServerConnection
instances.
+ * Based on the current logging configuration, this factory decides whether to
create
+ * regular DefaultNHttpServerConnection objects or to create
LoggingNHttpServerConnection
+ * objects. Also, depending on the logging configuration, this factory may
choose to
+ * wrap IOSession instances in LoggingIOSession objects.
+ */
public class LoggingNHttpServerConnectionFactory implements
NHttpConnectionFactory<DefaultNHttpServerConnection> {
private static final Log sourceConnLog = LogFactory.getLog(
Modified:
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingServerEventHandler.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingServerEventHandler.java?rev=1512883&r1=1512882&r2=1512883&view=diff
==============================================================================
---
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingServerEventHandler.java
(original)
+++
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingServerEventHandler.java
Sun Aug 11 06:52:43 2013
@@ -30,16 +30,31 @@ import org.apache.http.nio.NHttpServerEv
import java.io.IOException;
+/**
+ * A decorator (wrapper) for NHttpServerEventHandler instances. This decorator
+ * logs additional debug information regarding each of the events triggered on
the
+ * actual NHttpServerEventHandler instance. Most events are logged 'before'
they are
+ * dispatched to the wrapped NHttpServerEventHandler, but this implementation
does
+ * not modify the event arguments by any means. In that sense this decorator is
+ * read-only and safe. This implementation does not log the exception event.
It is
+ * expected that the actual NHttpServerEventHandler will take the necessary
steps to
+ * log exceptions.
+ */
public class LoggingServerEventHandler implements NHttpServerEventHandler {
private final Log log;
private final NHttpServerEventHandler handler;
+ /**
+ * Create a new instance of the decorator.
+ *
+ * @param handler The instance of NHttpServerEventHandler to be decorated
(wrapped)
+ */
public LoggingServerEventHandler(final NHttpServerEventHandler handler) {
super();
if (handler == null) {
- throw new IllegalArgumentException("HTTP service handler may not
be null");
+ throw new IllegalArgumentException("HTTP service handler must not
be null");
}
this.handler = handler;
this.log = LogFactory.getLog(handler.getClass());
Modified:
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingUtils.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingUtils.java?rev=1512883&r1=1512882&r2=1512883&view=diff
==============================================================================
---
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingUtils.java
(original)
+++
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingUtils.java
Sun Aug 11 06:52:43 2013
@@ -33,28 +33,32 @@ import java.util.Map;
public class LoggingUtils {
- private static NHttpClientEventHandler decorate(NHttpClientEventHandler
handler) {
- Log log = LogFactory.getLog(handler.getClass());
- if (log.isDebugEnabled()) {
- handler = new LoggingClientEventHandler(handler);
- }
- return handler;
- }
-
- private static NHttpServerEventHandler decorate(NHttpServerEventHandler
handler) {
- Log log = LogFactory.getLog(handler.getClass());
- if (log.isDebugEnabled()) {
- handler = new LoggingServerEventHandler(handler);
- }
- return handler;
- }
-
+ /**
+ * Create a new DefaultHttpServerIODispatch instance using the provided
parameters.
+ * This method may decorate (wrap) the original arguments with
logging-enabled wrappers,
+ * depending on the current logging configuration.
+ *
+ * @param handler An NHttpServerEventHandler instance
+ * @param config A ConnectionConfig instance
+ * @return A DefaultHttpServerIODispatch instance
+ */
public static DefaultHttpServerIODispatch getServerIODispatch(final
NHttpServerEventHandler handler,
final
ConnectionConfig config) {
return new DefaultHttpServerIODispatch(decorate(handler),
new LoggingNHttpServerConnectionFactory(config));
}
+ /**
+ * Create a new DefaultHttpServerIODispatch instance using the provided
parameters.
+ * This method may decorate (wrap) the original arguments with
logging-enabled wrappers,
+ * depending on the current logging configuration.
+ *
+ * @param handler An NHttpServerEventHandler instance
+ * @param config A ConnectionConfig instance
+ * @param sslContext An SSLContext instance to initialize SSL support
+ * @param sslSetupHandler An SSLSetupHandler instance
+ * @return A DefaultHttpServerIODispatch instance
+ */
public static DefaultHttpServerIODispatch getServerIODispatch(final
NHttpServerEventHandler handler,
final
ConnectionConfig config,
final
SSLContext sslContext,
@@ -63,12 +67,33 @@ public class LoggingUtils {
new LoggingNHttpSSLServerConnectionFactory(config, sslContext,
sslSetupHandler));
}
+ /**
+ * Create a new DefaultHttpClientIODispatch instance using the provided
parameters.
+ * This method may decorate (wrap) the original arguments with
logging-enabled wrappers,
+ * depending on the current logging configuration.
+ *
+ * @param handler An NHttpClientEventHandler instance
+ * @param config A ConnectionConfig instance
+ * @return A DefaultHttpClientIODispatch instance
+ */
public static DefaultHttpClientIODispatch getClientIODispatch(final
NHttpClientEventHandler handler,
final
ConnectionConfig config) {
return new DefaultHttpClientIODispatch(decorate(handler),
new LoggingNHttpClientConnectionFactory(config));
}
+ /**
+ * Create a new DefaultHttpClientIODispatch instance using the provided
parameters.
+ * This method may decorate (wrap) the original arguments with
logging-enabled wrappers,
+ * depending on the current logging configuration.
+ *
+ * @param handler An NHttpServerEventHandler instance
+ * @param config A ConnectionConfig instance
+ * @param sslContext An SSLContext instance to initialize SSL support
+ * @param sslSetupHandler An SSLSetupHandler instance
+ * @param customContexts A Map of endpoints and SSLContext instances
+ * @return A DefaultHttpClientIODispatch instance
+ */
public static DefaultHttpClientIODispatch getClientIODispatch(final
NHttpClientEventHandler handler,
final
ConnectionConfig config,
final
SSLContext sslContext,
@@ -77,4 +102,20 @@ public class LoggingUtils {
return new DefaultHttpClientIODispatch(decorate(handler),
new LoggingNHttpSSLClientConnectionFactory(config, sslContext,
sslSetupHandler, customContexts));
}
+
+ private static NHttpClientEventHandler decorate(NHttpClientEventHandler
handler) {
+ Log log = LogFactory.getLog(handler.getClass());
+ if (log.isDebugEnabled()) {
+ handler = new LoggingClientEventHandler(handler);
+ }
+ return handler;
+ }
+
+ private static NHttpServerEventHandler decorate(NHttpServerEventHandler
handler) {
+ Log log = LogFactory.getLog(handler.getClass());
+ if (log.isDebugEnabled()) {
+ handler = new LoggingServerEventHandler(handler);
+ }
+ return handler;
+ }
}
Modified:
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/Wire.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/Wire.java?rev=1512883&r1=1512882&r2=1512883&view=diff
==============================================================================
---
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/Wire.java
(original)
+++
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/Wire.java
Sun Aug 11 06:52:43 2013
@@ -23,40 +23,42 @@ import org.apache.commons.logging.Log;
import java.nio.ByteBuffer;
+/**
+ * A utility for logging wire-level information of HTTP connections.
+ */
public class Wire {
private final Log log;
public Wire(final Log log) {
- super();
this.log = log;
}
private void wire(final String header, final byte[] b, int pos, int off) {
- StringBuilder buffer = new StringBuilder();
+ StringBuilder builder = new StringBuilder();
for (int i = 0; i < off; i++) {
int ch = b[pos + i];
if (ch == 13) {
- buffer.append("[\\r]");
+ builder.append("[\\r]");
} else if (ch == 10) {
- buffer.append("[\\n]\"");
- buffer.insert(0, "\"");
- buffer.insert(0, header);
- this.log.debug(buffer.toString());
- buffer.setLength(0);
+ builder.append("[\\n]\"");
+ builder.insert(0, "\"");
+ builder.insert(0, header);
+ this.log.debug(builder.toString());
+ builder.setLength(0);
} else if ((ch < 32) || (ch > 127)) {
- buffer.append("[0x");
- buffer.append(Integer.toHexString(ch));
- buffer.append("]");
+ builder.append("[0x");
+ builder.append(Integer.toHexString(ch));
+ builder.append("]");
} else {
- buffer.append((char) ch);
+ builder.append((char) ch);
}
}
- if (buffer.length() > 0) {
- buffer.append('\"');
- buffer.insert(0, '\"');
- buffer.insert(0, header);
- this.log.debug(buffer.toString());
+ if (builder.length() > 0) {
+ builder.append('\"');
+ builder.insert(0, '\"');
+ builder.insert(0, header);
+ this.log.debug(builder.toString());
}
}