Author: akarasulu
Date: Wed Feb 13 18:03:38 2008
New Revision: 627633

URL: http://svn.apache.org/viewvc?rev=627633&view=rev
Log:
enable better control over logging

Modified:
    
mina/asyncweb/trunk/server/src/main/java/org/apache/asyncweb/server/transport/mina/MinaTransport.java
    
mina/asyncweb/trunk/server/src/main/java/org/apache/asyncweb/server/transport/mina/SingleHttpSessionIoHandler.java

Modified: 
mina/asyncweb/trunk/server/src/main/java/org/apache/asyncweb/server/transport/mina/MinaTransport.java
URL: 
http://svn.apache.org/viewvc/mina/asyncweb/trunk/server/src/main/java/org/apache/asyncweb/server/transport/mina/MinaTransport.java?rev=627633&r1=627632&r2=627633&view=diff
==============================================================================
--- 
mina/asyncweb/trunk/server/src/main/java/org/apache/asyncweb/server/transport/mina/MinaTransport.java
 (original)
+++ 
mina/asyncweb/trunk/server/src/main/java/org/apache/asyncweb/server/transport/mina/MinaTransport.java
 Wed Feb 13 18:03:38 2008
@@ -24,9 +24,11 @@
 import java.net.InetSocketAddress;
 import java.util.concurrent.ExecutorService;
 
+import org.apache.mina.common.IoEventType;
 import org.apache.mina.common.IoFilter;
 import org.apache.mina.filter.executor.ExecutorFilter;
 import org.apache.mina.filter.executor.OrderedThreadPoolExecutor;
+import org.apache.mina.filter.logging.LogLevel;
 import org.apache.mina.filter.logging.LoggingFilter;
 import org.apache.mina.transport.socket.SocketAcceptor;
 import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
@@ -69,6 +71,8 @@
     private HttpIoHandler ioHandler;
 
     private boolean isLoggingTraffic;
+    
+    private LogLevel logLevel = LogLevel.WARN;
 
     private ServiceContainer container;
 
@@ -143,6 +147,12 @@
     {
         this.isLoggingTraffic = isLoggingTraffic;
     }
+    
+    
+    public void setLogLevel( String logLevel )
+    {
+       this.logLevel = LogLevel.valueOf( logLevel );
+    }
 
 
     /**
@@ -187,7 +197,17 @@
             if ( isLoggingTraffic )
             {
                 LOG.debug( "Configuring traffic logging filter" );
-                IoFilter filter = new LoggingFilter();
+                LoggingFilter filter = new LoggingFilter();
+                filter.setLogLevel( IoEventType.CLOSE, logLevel );
+                filter.setLogLevel( IoEventType.EXCEPTION_CAUGHT, logLevel );
+                filter.setLogLevel( IoEventType.MESSAGE_RECEIVED, logLevel );
+                filter.setLogLevel( IoEventType.MESSAGE_SENT, logLevel );
+                filter.setLogLevel( IoEventType.SESSION_CLOSED, logLevel );
+                filter.setLogLevel( IoEventType.SESSION_CREATED, logLevel );
+                filter.setLogLevel( IoEventType.SESSION_IDLE, logLevel );
+                filter.setLogLevel( IoEventType.SESSION_OPENED, logLevel );
+                filter.setLogLevel( IoEventType.SET_TRAFFIC_MASK, logLevel );
+                filter.setLogLevel( IoEventType.WRITE, logLevel );
                 acceptor.getFilterChain().addFirst( "LoggingFilter", filter );
             }
 

Modified: 
mina/asyncweb/trunk/server/src/main/java/org/apache/asyncweb/server/transport/mina/SingleHttpSessionIoHandler.java
URL: 
http://svn.apache.org/viewvc/mina/asyncweb/trunk/server/src/main/java/org/apache/asyncweb/server/transport/mina/SingleHttpSessionIoHandler.java?rev=627633&r1=627632&r2=627633&view=diff
==============================================================================
--- 
mina/asyncweb/trunk/server/src/main/java/org/apache/asyncweb/server/transport/mina/SingleHttpSessionIoHandler.java
 (original)
+++ 
mina/asyncweb/trunk/server/src/main/java/org/apache/asyncweb/server/transport/mina/SingleHttpSessionIoHandler.java
 Wed Feb 13 18:03:38 2008
@@ -105,22 +105,19 @@
 
     public void sessionCreated()
     {
-        if (LOG.isDebugEnabled())
-            LOG.debug( "Session created" );
+        LOG.info( "Session created: {}", session.getRemoteAddress() );
     }
 
 
     public void sessionOpened()
     {
-        if (LOG.isDebugEnabled())
-            LOG.debug( "Connection opened" );
+        LOG.info( "Session opened: {}", session.getRemoteAddress() );
     }
 
 
     public void sessionClosed()
     {
-        if (LOG.isDebugEnabled())
-            LOG.debug( "Connection closed" );
+        LOG.info( "Session closed: {}", session.getRemoteAddress() );
 
         if ( currentContext != null )
         {
@@ -143,8 +140,7 @@
             //        LOG.info("Read idled out while parsing request. 
Scheduling timeout response");
             //        handleReadFailure(currentContext, 
HttpResponseStatus.REQUEST_TIMEOUT, "Timeout while reading request");
             //      } else {
-            if (LOG.isDebugEnabled())
-                LOG.debug( "Session idle detected on context {} with idleType 
{}", currentContext, idleType );
+            LOG.debug( "Session idle detected on context {} with idleType {}", 
currentContext, idleType );
                
             if ( currentContext != null )
             {
@@ -156,14 +152,12 @@
             else
             {
                    // TODO - look further into this - it may present serious 
issues when dealing with HTTP/1.1
-                if (LOG.isDebugEnabled())
-                    LOG.debug( "Idled with no current request. Scheduling 
closure when pipeline empties" );
+                LOG.debug( "Idled with no current request. Scheduling closure 
when pipeline empties" );
                    pipeline.runWhenEmpty( new Runnable()
                    {
                        public void run()
                        {
-                           if (LOG.isDebugEnabled())
-                               LOG.debug( "Pipeline empty after idle. Closing 
session" );
+                           LOG.info( "Pipeline empty after idle. Closing 
session: {}", session.getRemoteAddress() );
                            session.close();
                        }
                    });
@@ -189,7 +183,7 @@
                 status = HttpResponseStatus.BAD_REQUEST;
             }
 
-            LOG.warn( "Bad request:", cause );
+            LOG.warn( "Bad request: {}", session.getRemoteAddress(), cause );
 
             response = new DefaultHttpResponse();
             response.setProtocolVersion( HttpVersion.HTTP_1_1 );
@@ -205,7 +199,7 @@
             response = new DefaultHttpResponse();
             response.setProtocolVersion( HttpVersion.HTTP_1_1 );
             response.setStatus( HttpResponseStatus.INTERNAL_SERVER_ERROR );
-            LOG.error( "Unexpected exception from a service.", cause );
+            LOG.error( "Unexpected exception from a service: {}", 
session.getRemoteAddress(), cause );
         }
 
         if ( response != null )
@@ -243,11 +237,7 @@
      */
     private void handleReadFailure( HttpServiceContext context, 
HttpResponseStatus status, String message )
     {
-        if ( LOG.isInfoEnabled() )
-        {
-            LOG.info( "Failed to handle client request. Reason: " + status );
-        }
-
+        LOG.info( "Failed to handle client {} request. Reason: {}", 
session.getRemoteAddress(), status );
         MutableHttpResponse response = new DefaultHttpResponse();
         response.setStatusReasonPhrase( message );
         response.setStatus( status );
@@ -431,8 +421,7 @@
             WriteFuture future = session.write( this );
             if ( requiresClosure )
             {
-                if (LOG.isDebugEnabled())
-                    LOG.debug( "Added CLOSE future listener." );
+                LOG.debug( "Added CLOSE future listener." );
                 future.addListener( IoFutureListener.CLOSE );
             }
         }


Reply via email to