From commits-return-4514-apmail-directory-commits-archive=directory.apache.org@directory.apache.org Mon May 02 06:45:09 2005 Return-Path: Delivered-To: apmail-directory-commits-archive@www.apache.org Received: (qmail 36494 invoked from network); 2 May 2005 06:45:09 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 2 May 2005 06:45:09 -0000 Received: (qmail 7154 invoked by uid 500); 2 May 2005 06:46:32 -0000 Delivered-To: apmail-directory-commits-archive@directory.apache.org Received: (qmail 7109 invoked by uid 500); 2 May 2005 06:46:32 -0000 Mailing-List: contact commits-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@directory.apache.org Delivered-To: mailing list commits@directory.apache.org Received: (qmail 7095 invoked by uid 99); 2 May 2005 06:46:31 -0000 X-ASF-Spam-Status: No, hits=0.2 required=10.0 tests=NO_REAL_NAME X-Spam-Check-By: apache.org Received: from minotaur.apache.org (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.28) with SMTP; Sun, 01 May 2005 23:46:31 -0700 Received: (qmail 36455 invoked by uid 65534); 2 May 2005 06:45:07 -0000 Message-ID: <20050502064507.36454.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Subject: svn commit: r165588 - /directory/network/trunk/src/java/org/apache/mina/util/SessionLog.java Date: Mon, 02 May 2005 06:45:07 -0000 To: commits@directory.apache.org From: trustin@apache.org X-Mailer: svnmailer-1.0.0-dev X-Virus-Checked: Checked X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: trustin Date: Sun May 1 23:45:06 2005 New Revision: 165588 URL: http://svn.apache.org/viewcvs?rev=3D165588&view=3Drev Log: Forgot to check in SessionLog. Added: directory/network/trunk/src/java/org/apache/mina/util/SessionLog.java = (with props) Added: directory/network/trunk/src/java/org/apache/mina/util/SessionLog.java URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apa= che/mina/util/SessionLog.java?rev=3D165588&view=3Dauto =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/java/org/apache/mina/util/SessionLog.java (= added) +++ directory/network/trunk/src/java/org/apache/mina/util/SessionLog.java S= un May 1 23:45:06 2005 @@ -0,0 +1,93 @@ +package org.apache.mina.util; + +import java.util.logging.Level; +import java.util.logging.Logger; + +import org.apache.mina.common.Session; +import org.apache.mina.io.IoSession; +import org.apache.mina.io.filter.LoggingFilter; +import org.apache.mina.protocol.ProtocolSession; + +/** + * Call {@link #getLogger(Session)}, {@link #log(Session, String)}, and + * {@link #log(Session, String, Throwable)} to log protocol-specific messa= ges. + *

+ * Set {@link #PREFIX}, {@link #LOGGER}, {@link #LEVEL} session attributes + * to override prefix string, logger, and log level. + * + * @author The Apache Directory Project (dev@directory.apache.org) + * @author Trustin Lee (trustin@apache.org) + * @version $Rev$, $Date$ + * + */ +public class SessionLog { + /** + * Session attribute key: prefix string + */ + public static final String PREFIX =3D LoggingFilter.class.getName() + = "=2Eprefix"; + + /** + * Session attribute key: {@link Logger} + */ + public static final String LOGGER =3D LoggingFilter.class.getName() + = "=2Elogger"; + =20 + /** + * Session attribute key: {@link Level} + */ + public static final String LEVEL =3D LoggingFilter.class.getName() + "= .level"; + + public static Logger getLogger( Session session ) + { + =20 + Logger log =3D (Logger) session.getAttribute( LOGGER ); + if( log =3D=3D null ) + { + log =3D Logger.getLogger( getClassName( session ) ); + String prefix =3D ( String ) session.getAttribute( PREFIX ); + if( prefix =3D=3D null ) + { + prefix =3D "[" + session.getRemoteAddress() + "] "; + session.setAttribute( PREFIX, prefix ); + } + =20 + Level level =3D ( Level ) session.getAttribute( LEVEL ); + if( level =3D=3D null ) + { + level =3D Level.INFO; + session.setAttribute( LEVEL, level ); + } + =20 + session.setAttribute( LOGGER, log ); + } + =20 + return log; + } + =20 + private static String getClassName( Session session ) + { + if( session instanceof IoSession ) + return ( ( IoSession ) session ).getHandler().getClass().getNa= me(); + else + return ( ( ProtocolSession ) session ).getHandler().getClass()= .getName(); + } + + public static void log( Session session, String message ) + { + Logger log =3D getLogger( session ); + Level level =3D ( Level ) session.getAttribute( LEVEL ); + if( log.isLoggable( level ) ) + { + log.log( level, message ); + } + } + + public static void log( Session session, String message, Throwable cau= se ) + { + Logger log =3D getLogger( session ); + Level level =3D ( Level ) session.getAttribute( LEVEL ); + if( log.isLoggable( level ) ) + { + log.log( level, message, cause ); + } + } +} Propchange: directory/network/trunk/src/java/org/apache/mina/util/SessionLo= g=2Ejava ---------------------------------------------------------------------------= --- svn:keywords =3D HeadURL Id LastChangedBy LastChangedDate LastChangedRe= vision