EMMA Coverage Report (generated Fri Oct 21 16:16:13 KST 2005)
[all classes][org.apache.mina.util]

COVERAGE SUMMARY FOR SOURCE FILE [SessionLog.java]

nameclass, %method, %block, %line, %
SessionLog.java0%   (0/1)0%   (0/12)0%   (0/257)0%   (0/47)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class SessionLog0%   (0/1)0%   (0/12)0%   (0/257)0%   (0/47)
<static initializer> 0%   (0/1)0%   (0/35)0%   (0/2)
SessionLog (): void 0%   (0/1)0%   (0/3)0%   (0/1)
debug (Session, String): void 0%   (0/1)0%   (0/20)0%   (0/4)
debug (Session, String, Throwable): void 0%   (0/1)0%   (0/21)0%   (0/4)
error (Session, String): void 0%   (0/1)0%   (0/20)0%   (0/4)
error (Session, String, Throwable): void 0%   (0/1)0%   (0/21)0%   (0/4)
getClass (Session): Class 0%   (0/1)0%   (0/13)0%   (0/3)
getLogger (Session): Logger 0%   (0/1)0%   (0/42)0%   (0/9)
info (Session, String): void 0%   (0/1)0%   (0/20)0%   (0/4)
info (Session, String, Throwable): void 0%   (0/1)0%   (0/21)0%   (0/4)
warn (Session, String): void 0%   (0/1)0%   (0/20)0%   (0/4)
warn (Session, String, Throwable): void 0%   (0/1)0%   (0/21)0%   (0/4)

1/*
2 *   @(#) $Id: SessionLog.java 327113 2005-10-21 06:59:15Z trustin $
3 *
4 *   Copyright 2004 The Apache Software Foundation
5 *
6 *   Licensed under the Apache License, Version 2.0 (the "License");
7 *   you may not use this file except in compliance with the License.
8 *   You may obtain a copy of the License at
9 *
10 *       http://www.apache.org/licenses/LICENSE-2.0
11 *
12 *   Unless required by applicable law or agreed to in writing, software
13 *   distributed under the License is distributed on an "AS IS" BASIS,
14 *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 *   See the License for the specific language governing permissions and
16 *   limitations under the License.
17 *
18 */
19package org.apache.mina.util;
20 
21import org.apache.mina.common.Session;
22import org.apache.mina.io.IoSession;
23import org.apache.mina.protocol.ProtocolSession;
24import org.slf4j.Logger;
25import org.slf4j.LoggerFactory;
26 
27/**
28 * Provides utility methods to log protocol-specific messages.
29 * <p>
30 * Set {@link #PREFIX} and {@link #LOGGER} session attributes
31 * to override prefix string and logger.
32 *
33 * @author The Apache Directory Project (dev@directory.apache.org)
34 * @version $Rev: 327113 $, $Date: 2005-10-21 15:59:15 +0900 $
35 *
36 */
37public class SessionLog {
38    /**
39     * Session attribute key: prefix string
40     */
41    public static final String PREFIX = SessionLog.class.getName() + ".prefix";
42 
43    /**
44     * Session attribute key: {@link Logger}
45     */
46    public static final String LOGGER = SessionLog.class.getName() + ".logger";
47    
48    public static Logger getLogger( Session session )
49    {
50        Logger log = (Logger) session.getAttribute( LOGGER );
51        if( log == null )
52        {
53            log = LoggerFactory.getLogger( getClass( session ) );
54            String prefix = ( String ) session.getAttribute( PREFIX );
55            if( prefix == null )
56            {
57                prefix = "[" + session.getRemoteAddress() + "] ";
58                session.setAttribute( PREFIX, prefix );
59            }
60                
61            session.setAttribute( LOGGER, log );
62        }
63        
64        return log;
65    }
66    
67    private static Class getClass( Session session )
68    {
69        if( session instanceof IoSession )
70            return ( ( IoSession ) session ).getHandler().getClass();
71        else
72            return ( ( ProtocolSession ) session ).getHandler().getClass();
73    }
74 
75    public static void debug( Session session, String message )
76    {
77        Logger log = getLogger( session );
78        if( log.isDebugEnabled() )
79        {
80            log.debug( String.valueOf( session.getAttribute( PREFIX ) ) + message );
81        }
82    }
83 
84    public static void debug( Session session, String message, Throwable cause )
85    {
86        Logger log = getLogger( session );
87        if( log.isDebugEnabled() )
88        {
89            log.debug( String.valueOf( session.getAttribute( PREFIX ) ) + message, cause );
90        }
91    }
92 
93    public static void info( Session session, String message )
94    {
95        Logger log = getLogger( session );
96        if( log.isInfoEnabled() )
97        {
98            log.info( String.valueOf( session.getAttribute( PREFIX ) ) + message );
99        }
100    }
101 
102    public static void info( Session session, String message, Throwable cause )
103    {
104        Logger log = getLogger( session );
105        if( log.isInfoEnabled() )
106        {
107            log.info( String.valueOf( session.getAttribute( PREFIX ) ) + message, cause );
108        }
109    }
110 
111    public static void warn( Session session, String message )
112    {
113        Logger log = getLogger( session );
114        if( log.isWarnEnabled() )
115        {
116            log.warn( String.valueOf( session.getAttribute( PREFIX ) ) + message );
117        }
118    }
119 
120    public static void warn( Session session, String message, Throwable cause )
121    {
122        Logger log = getLogger( session );
123        if( log.isWarnEnabled() )
124        {
125            log.warn( String.valueOf( session.getAttribute( PREFIX ) ) + message, cause );
126        }
127    }
128 
129    public static void error( Session session, String message )
130    {
131        Logger log = getLogger( session );
132        if( log.isErrorEnabled() )
133        {
134            log.error( String.valueOf( session.getAttribute( PREFIX ) ) + message );
135        }
136    }
137 
138    public static void error( Session session, String message, Throwable cause )
139    {
140        Logger log = getLogger( session );
141        if( log.isErrorEnabled() )
142        {
143            log.error( String.valueOf( session.getAttribute( PREFIX ) ) + message, cause );
144        }
145    }
146}

[all classes][org.apache.mina.util]
EMMA 2.0.4217 (C) Vladimir Roubtsov