You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by tr...@apache.org on 2005/05/02 07:18:09 UTC
svn commit: r165584 - in /directory/network/trunk/src/java/org/apache/mina:
io/filter/LoggingFilter.java protocol/filter/LoggingFilter.java
Author: trustin
Date: Sun May 1 22:18:08 2005
New Revision: 165584
URL: http://svn.apache.org/viewcvs?rev=165584&view=rev
Log:
* Simplified log message
* Added protocol LoggingFilter
Added:
directory/network/trunk/src/java/org/apache/mina/protocol/filter/LoggingFilter.java (with props)
Modified:
directory/network/trunk/src/java/org/apache/mina/io/filter/LoggingFilter.java
Modified: directory/network/trunk/src/java/org/apache/mina/io/filter/LoggingFilter.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/io/filter/LoggingFilter.java?rev=165584&r1=165583&r2=165584&view=diff
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/io/filter/LoggingFilter.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/io/filter/LoggingFilter.java Sun May 1 22:18:08 2005
@@ -118,31 +118,31 @@
public void sessionIdle( NextFilter nextFilter, IoSession session, IdleStatus status )
{
- log( session, "IDLE (" + status + ")" );
+ log( session, "IDLE: " + status );
nextFilter.sessionIdle( session, status );
}
public void exceptionCaught( NextFilter nextFilter, IoSession session, Throwable cause )
{
- log( session, "EXCEPTION", cause );
+ log( session, "EXCEPTION:", cause );
nextFilter.exceptionCaught( session, cause );
}
public void dataRead( NextFilter nextFilter, IoSession session, ByteBuffer buf)
{
- log( session, "READ (" + buf.getHexDump() + ")" );
+ log( session, "READ: " + buf.getHexDump() );
nextFilter.dataRead( session, buf );
}
public void dataWritten( NextFilter nextFilter, IoSession session, Object marker)
{
- log( session, "WRITTEN (" + marker + ")" );
+ log( session, "WRITTEN: " + marker );
nextFilter.dataWritten( session, marker );
}
public void filterWrite( NextFilter nextFilter, IoSession session, ByteBuffer buf, Object marker)
{
- log( session, "WRITE (" + buf.getHexDump() + ", " + marker + ")" );
+ log( session, "WRITE:" + marker + ", " + buf.getHexDump() );
nextFilter.filterWrite( session, buf, marker );
}
}
Added: directory/network/trunk/src/java/org/apache/mina/protocol/filter/LoggingFilter.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/protocol/filter/LoggingFilter.java?rev=165584&view=auto
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/protocol/filter/LoggingFilter.java (added)
+++ directory/network/trunk/src/java/org/apache/mina/protocol/filter/LoggingFilter.java Sun May 1 22:18:08 2005
@@ -0,0 +1,147 @@
+/*
+ * @(#) $Id$
+ *
+ * Copyright 2004 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.mina.protocol.filter;
+
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import org.apache.mina.common.IdleStatus;
+import org.apache.mina.common.SessionInitializer;
+import org.apache.mina.protocol.ProtocolFilter;
+import org.apache.mina.protocol.ProtocolSession;
+
+/**
+ * Logs all MINA protocol events to {@link Logger}.
+ * <p>
+ * Call {@link #getLogger(ProtocolSession)}, {@link #log(ProtocolSession, String)}, and
+ * {@link #log(ProtocolSession, String, Throwable)} to log protocol-specific messages.
+ * <p>
+ * Set {@link #PREFIX}, {@link #LOGGER}, {@link #LEVEL} session attributes
+ * to override prefix string, logger, and log level. (See {@link SessionInitializer})
+ *
+ * @author The Apache Directory Project (dev@directory.apache.org)
+ * @author Trustin Lee (trustin@apache.org)
+ * @version $Rev$, $Date$
+ */
+public class LoggingFilter implements ProtocolFilter
+{
+ /**
+ * Session attribute key: prefix string
+ */
+ public static final String PREFIX = LoggingFilter.class.getName() + ".prefix";
+
+ /**
+ * Session attribute key: {@link Logger}
+ */
+ public static final String LOGGER = LoggingFilter.class.getName() + ".logger";
+
+ /**
+ * Session attribute key: {@link Level}
+ */
+ public static final String LEVEL = LoggingFilter.class.getName() + ".level";
+
+ public static Logger getLogger( ProtocolSession session )
+ {
+
+ Logger log = (Logger) session.getAttribute( LOGGER );
+ if( log == null )
+ {
+ log = Logger.getLogger( session.getHandler().getClass().getName() );
+ String prefix = ( String ) session.getAttribute( PREFIX );
+ if( prefix != null )
+ {
+ prefix = "[" + session.getRemoteAddress() + "] ";
+ session.setAttribute( PREFIX, prefix );
+ }
+
+ Level level = ( Level ) session.getAttribute( LEVEL );
+ if( level != null )
+ {
+ level = Level.INFO;
+ session.setAttribute( LEVEL, level );
+ }
+
+ session.setAttribute( LOGGER, log );
+ }
+
+ return log;
+ }
+
+ public static void log( ProtocolSession session, String message )
+ {
+ Logger log = getLogger( session );
+ Level level = ( Level ) session.getAttribute( LEVEL );
+ if( log.isLoggable( level ) )
+ {
+ log.log( level, message );
+ }
+ }
+
+ public static void log( ProtocolSession session, String message, Throwable cause )
+ {
+ Logger log = getLogger( session );
+ Level level = ( Level ) session.getAttribute( LEVEL );
+ if( log.isLoggable( level ) )
+ {
+ log.log( level, message, cause );
+ }
+ }
+
+ public void sessionOpened( NextFilter nextFilter, ProtocolSession session )
+ {
+ log( session, "OPENED" );
+ nextFilter.sessionOpened( session );
+ }
+
+ public void sessionClosed( NextFilter nextFilter, ProtocolSession session )
+ {
+ log( session, "CLOSED" );
+ nextFilter.sessionClosed( session );
+ }
+
+ public void sessionIdle( NextFilter nextFilter, ProtocolSession session, IdleStatus status )
+ {
+ log( session, "IDLE: " + status );
+ nextFilter.sessionIdle( session, status );
+ }
+
+ public void exceptionCaught( NextFilter nextFilter, ProtocolSession session, Throwable cause )
+ {
+ log( session, "EXCEPTION:", cause );
+ nextFilter.exceptionCaught( session, cause );
+ }
+
+ public void messageReceived( NextFilter nextFilter, ProtocolSession session, Object message )
+ {
+ log( session, "RECEIVED: " + message );
+ nextFilter.messageReceived( session, message );
+ }
+
+ public void messageSent( NextFilter nextFilter, ProtocolSession session, Object message )
+ {
+ log( session, "SENT: " + message );
+ nextFilter.messageSent( session, message );
+ }
+
+ public void filterWrite( NextFilter nextFilter, ProtocolSession session, Object message)
+ {
+ log( session, "WRITE: " + message );
+ nextFilter.filterWrite( session, message );
+ }
+}
Propchange: directory/network/trunk/src/java/org/apache/mina/protocol/filter/LoggingFilter.java
------------------------------------------------------------------------------
svn:keywords = HeadURL Id LastChangedBy LastChangedDate LastChangedRevision