You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by tr...@apache.org on 2007/08/17 09:23:22 UTC
svn commit: r566950 - in /mina/trunk/core/src/main/java/org/apache/mina:
common/IoSessionLogger.java filter/logging/LoggingFilter.java
Author: trustin
Date: Fri Aug 17 00:23:04 2007
New Revision: 566950
URL: http://svn.apache.org/viewvc?view=rev&rev=566950
Log:
* Added trace level to LoggingFilter and IoSessionLogger
* Changed LoggingFilter to use CopyOnWriteMap
* Changed LoggingFilter.getXXXLogLevel to return LogLevel instead of String
Modified:
mina/trunk/core/src/main/java/org/apache/mina/common/IoSessionLogger.java
mina/trunk/core/src/main/java/org/apache/mina/filter/logging/LoggingFilter.java
Modified: mina/trunk/core/src/main/java/org/apache/mina/common/IoSessionLogger.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/common/IoSessionLogger.java?view=diff&rev=566950&r1=566949&r2=566950
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/common/IoSessionLogger.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/common/IoSessionLogger.java Fri Aug 17 00:23:04 2007
@@ -49,6 +49,27 @@
return session.getHandler().getClass();
}
+ public static void trace(IoSession session, String message) {
+ trace(getLogger(session), session, message);
+ }
+
+ public static void trace(Logger log, IoSession session, String message) {
+ if (log.isTraceEnabled()) {
+ log.trace(String.valueOf(getPrefix(session)) + message);
+ }
+ }
+
+ public static void trace(IoSession session, String message, Throwable cause) {
+ trace(getLogger(session), session, message, cause);
+ }
+
+ public static void trace(Logger log, IoSession session, String message,
+ Throwable cause) {
+ if (log.isTraceEnabled()) {
+ log.trace(String.valueOf(getPrefix(session)) + message, cause);
+ }
+ }
+
public static void debug(IoSession session, String message) {
debug(getLogger(session), session, message);
}
Modified: mina/trunk/core/src/main/java/org/apache/mina/filter/logging/LoggingFilter.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/logging/LoggingFilter.java?view=diff&rev=566950&r1=566949&r2=566950
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/filter/logging/LoggingFilter.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/filter/logging/LoggingFilter.java Fri Aug 17 00:23:04 2007
@@ -21,7 +21,6 @@
import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
import org.apache.mina.common.IdleStatus;
import org.apache.mina.common.IoEventType;
@@ -29,6 +28,7 @@
import org.apache.mina.common.IoSession;
import org.apache.mina.common.IoSessionLogger;
import org.apache.mina.common.WriteRequest;
+import org.apache.mina.util.CopyOnWriteMap;
/**
@@ -51,19 +51,16 @@
*/
public static final LogLevel NONE = new LogLevel()
{
-
@Override
public void log( IoSession session, String message )
{
}
-
@Override
public void log( IoSession session, String message, Throwable cause )
{
}
-
@Override
public String toString()
{
@@ -72,25 +69,46 @@
};
/**
+ * {@link LogLevel} which logs messages on the TRACE level.
+ */
+ public static final LogLevel TRACE = new LogLevel()
+ {
+ @Override
+ public void log( IoSession session, String message )
+ {
+ IoSessionLogger.trace( session, message );
+ }
+
+ @Override
+ public void log( IoSession session, String message, Throwable cause )
+ {
+ IoSessionLogger.trace( session, message, cause );
+ }
+
+ @Override
+ public String toString()
+ {
+ return "TRACE";
+ }
+ };
+
+ /**
* {@link LogLevel} which logs messages on the DEBUG level.
*/
public static final LogLevel DEBUG = new LogLevel()
{
-
@Override
public void log( IoSession session, String message )
{
IoSessionLogger.debug( session, message );
}
-
@Override
public void log( IoSession session, String message, Throwable cause )
{
IoSessionLogger.debug( session, message, cause );
}
-
@Override
public String toString()
{
@@ -109,14 +127,12 @@
IoSessionLogger.info( session, message );
}
-
@Override
public void log( IoSession session, String message, Throwable cause )
{
IoSessionLogger.info( session, message, cause );
}
-
@Override
public String toString()
{
@@ -135,14 +151,12 @@
IoSessionLogger.warn( session, message );
}
-
@Override
public void log( IoSession session, String message, Throwable cause )
{
IoSessionLogger.warn( session, message, cause );
}
-
@Override
public String toString()
{
@@ -161,14 +175,12 @@
IoSessionLogger.error( session, message );
}
-
@Override
public void log( IoSession session, String message, Throwable cause )
{
IoSessionLogger.error( session, message, cause );
}
-
@Override
public String toString()
{
@@ -176,19 +188,16 @@
}
};
- private final Map<IoEventType, LogLevel> logSettings;
-
+ private final Map<IoEventType, LogLevel> logSettings =
+ new CopyOnWriteMap<IoEventType,LogLevel>();
/**
* Default Constructor.
*/
public LoggingFilter()
{
- logSettings = new ConcurrentHashMap<IoEventType,LogLevel>(7);
-
- // Exceptions will be logged to WARN as default...
+ // Exceptions will be logged to WARN as default.
setLogLevel( IoEventType.EXCEPTION_CAUGHT, WARN );
-
setLogLevel( IoEventType.MESSAGE_RECEIVED, INFO );
setLogLevel( IoEventType.MESSAGE_SENT, INFO );
setLogLevel( IoEventType.SESSION_CLOSED, INFO );
@@ -201,7 +210,7 @@
@Override
public void exceptionCaught( NextFilter nextFilter, IoSession session, Throwable cause ) throws Exception
{
- logSettings.get( IoEventType.EXCEPTION_CAUGHT ).log( session, "EXCEPTION: ", cause );
+ getLogLevel( IoEventType.EXCEPTION_CAUGHT ).log( session, "EXCEPTION: ", cause );
nextFilter.exceptionCaught( session, cause );
}
@@ -209,7 +218,7 @@
@Override
public void messageReceived( NextFilter nextFilter, IoSession session, Object message ) throws Exception
{
- logSettings.get( IoEventType.MESSAGE_RECEIVED ).log( session, "RECEIVED: " + message );
+ getLogLevel( IoEventType.MESSAGE_RECEIVED ).log( session, "RECEIVED: " + message );
nextFilter.messageReceived( session, message );
}
@@ -217,7 +226,7 @@
@Override
public void messageSent( NextFilter nextFilter, IoSession session, WriteRequest writeRequest ) throws Exception
{
- logSettings.get( IoEventType.MESSAGE_SENT ).log( session, "SENT: " + writeRequest.getMessage() );
+ getLogLevel( IoEventType.MESSAGE_SENT ).log( session, "SENT: " + writeRequest.getMessage() );
nextFilter.messageSent( session, writeRequest );
}
@@ -225,7 +234,7 @@
@Override
public void sessionClosed( NextFilter nextFilter, IoSession session ) throws Exception
{
- logSettings.get( IoEventType.SESSION_CLOSED ).log( session, "CLOSED" );
+ getLogLevel( IoEventType.SESSION_CLOSED ).log( session, "CLOSED" );
nextFilter.sessionClosed( session );
}
@@ -233,7 +242,7 @@
@Override
public void sessionCreated( NextFilter nextFilter, IoSession session ) throws Exception
{
- logSettings.get( IoEventType.SESSION_CREATED ).log( session, "CREATED" );
+ getLogLevel( IoEventType.SESSION_CREATED ).log( session, "CREATED" );
nextFilter.sessionCreated( session );
}
@@ -241,7 +250,7 @@
@Override
public void sessionIdle( NextFilter nextFilter, IoSession session, IdleStatus status ) throws Exception
{
- logSettings.get( IoEventType.SESSION_IDLE ).log( session, "IDLE: " + status );
+ getLogLevel( IoEventType.SESSION_IDLE ).log( session, "IDLE: " + status );
nextFilter.sessionIdle( session, status );
}
@@ -249,7 +258,7 @@
@Override
public void sessionOpened( NextFilter nextFilter, IoSession session ) throws Exception
{
- logSettings.get( IoEventType.SESSION_OPENED ).log( session, "OPENED" );
+ getLogLevel( IoEventType.SESSION_OPENED ).log( session, "OPENED" );
nextFilter.sessionOpened( session );
}
@@ -339,17 +348,38 @@
/**
- * This method sets the log level for the suppliend {@link LogLevel}
+ * This method sets the log level for the supplied {@link LogLevel}
* event.
*
- * @param event
- * The event that is to be updated with the new {@link LogLevel}
- * @param logLevel
- * The new {@link LogLevel} to be used to log the specified event
+ * @param eventType the type of the event that is to be updated with
+ * the new {@link LogLevel}
+ * @param logLevel the new {@link LogLevel} to be used to log the
+ * specified event
+ */
+ public void setLogLevel( IoEventType eventType, LogLevel logLevel )
+ {
+ if (eventType == null) {
+ throw new NullPointerException("eventType");
+ }
+ if (logLevel == null) {
+ throw new NullPointerException("logLevel");
+ }
+
+ logSettings.put( eventType, logLevel );
+ }
+
+ /**
+ * Returns the log level for the supplied event type.
+ *
+ * @param eventType the type of the event
*/
- public void setLogLevel( IoEventType event, LogLevel logLevel )
+ public LogLevel getLogLevel( IoEventType eventType )
{
- logSettings.put( event, logLevel );
+ if (eventType == null) {
+ throw new NullPointerException("eventType");
+ }
+
+ return logSettings.get( eventType );
}
@@ -360,9 +390,9 @@
* @return
* The {@link LogLevel} used when logging exception caught events
*/
- public String getExceptionCaughtLogLevel()
+ public LogLevel getExceptionCaughtLogLevel()
{
- return logSettings.get( IoEventType.EXCEPTION_CAUGHT ).toString();
+ return getLogLevel( IoEventType.EXCEPTION_CAUGHT );
}
@@ -373,9 +403,9 @@
* @return
* The {@link LogLevel} used when logging message received events
*/
- public String getMessageReceivedLogLevel()
+ public LogLevel getMessageReceivedLogLevel()
{
- return logSettings.get( IoEventType.MESSAGE_RECEIVED ).toString();
+ return getLogLevel( IoEventType.MESSAGE_RECEIVED );
}
@@ -386,9 +416,9 @@
* @return
* The {@link LogLevel} used when logging message sent events
*/
- public String getMessageSentLogLevel()
+ public LogLevel getMessageSentLogLevel()
{
- return logSettings.get( IoEventType.MESSAGE_SENT ).toString();
+ return getLogLevel( IoEventType.MESSAGE_SENT );
}
@@ -399,9 +429,9 @@
* @return
* The {@link LogLevel} used when logging session closed events
*/
- public String getSessionClosedLogLevel()
+ public LogLevel getSessionClosedLogLevel()
{
- return logSettings.get( IoEventType.SESSION_CLOSED ).toString();
+ return getLogLevel( IoEventType.SESSION_CLOSED );
}
@@ -412,9 +442,9 @@
* @return
* The {@link LogLevel} used when logging session created events
*/
- public String getSessionCreatedLogLevel()
+ public LogLevel getSessionCreatedLogLevel()
{
- return logSettings.get( IoEventType.SESSION_CREATED ).toString();
+ return getLogLevel( IoEventType.SESSION_CREATED );
}
@@ -425,9 +455,9 @@
* @return
* The {@link LogLevel} used when logging session idle events
*/
- public String getSessionIdleLogLevel()
+ public LogLevel getSessionIdleLogLevel()
{
- return logSettings.get( IoEventType.SESSION_IDLE ).toString();
+ return getLogLevel( IoEventType.SESSION_IDLE );
}
@@ -438,9 +468,9 @@
* @return
* The {@link LogLevel} used when logging session opened events
*/
- public String getSessionOpenedLogLevel()
+ public LogLevel getSessionOpenedLogLevel()
{
- return logSettings.get( IoEventType.SESSION_OPENED ).toString();
+ return getLogLevel( IoEventType.SESSION_OPENED );
}
/**
@@ -448,17 +478,11 @@
*/
public static abstract class LogLevel
{
- LogLevel()
+ private LogLevel()
{
}
-
- public abstract void log( IoSession session, String message );
-
-
- public abstract void log( IoSession session, String message, Throwable cause );
-
-
- public abstract String toString();
+ abstract void log( IoSession session, String message );
+ abstract void log( IoSession session, String message, Throwable cause );
}
}