001    /*
002     * $HeadURL: http://juliusdavies.ca/svn/not-yet-commons-ssl/tags/commons-ssl-0.3.11/src/java/org/apache/commons/ssl/LogHelper.java $
003     * $Revision: 121 $
004     * $Date: 2007-11-13 21:26:57 -0800 (Tue, 13 Nov 2007) $
005     *
006     * ====================================================================
007     * Licensed to the Apache Software Foundation (ASF) under one
008     * or more contributor license agreements.  See the NOTICE file
009     * distributed with this work for additional information
010     * regarding copyright ownership.  The ASF licenses this file
011     * to you under the Apache License, Version 2.0 (the
012     * "License"); you may not use this file except in compliance
013     * with the License.  You may obtain a copy of the License at
014     *
015     *   http://www.apache.org/licenses/LICENSE-2.0
016     *
017     * Unless required by applicable law or agreed to in writing,
018     * software distributed under the License is distributed on an
019     * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
020     * KIND, either express or implied.  See the License for the
021     * specific language governing permissions and limitations
022     * under the License.
023     * ====================================================================
024     *
025     * This software consists of voluntary contributions made by many
026     * individuals on behalf of the Apache Software Foundation.  For more
027     * information on the Apache Software Foundation, please see
028     * <http://www.apache.org/>.
029     *
030     */
031    
032    package org.apache.commons.ssl;
033    
034    import org.apache.log4j.Logger;
035    
036    /**
037     * <p/>
038     * Wraps a Log4j Logger.  This non-public class is the one actually interacting
039     * with the log4j.jar library.  That way LogWrapper can safely attempt to use
040     * log4j.jar, but still degrade gracefully and provide logging via standard-out
041     * even if log4j is unavailable.
042     * <p/>
043     * The interactions with log4j.jar could be done directly inside LogWrapper
044     * as long as the Java code is compiled by Java 1.4 or greater (still works
045     * at runtime in Java 1.3).  The interactions with log4j.jar only need to be
046     * pushed out into a separate class like this for people using a Java 1.3
047     * compiler, which creates bytecode that is more strict with depedency
048     * checking.
049     *
050     * @author Credit Union Central of British Columbia
051     * @author <a href="http://www.cucbc.com/">www.cucbc.com</a>
052     * @author <a href="mailto:juliusdavies@cucbc.com">juliusdavies@cucbc.com</a>
053     * @since 3-Aug-2006
054     */
055    final class LogHelper {
056        private final Logger l;
057    
058        LogHelper(Class c) { l = Logger.getLogger(c); }
059    
060        LogHelper(String s) { l = Logger.getLogger(s); }
061    
062        void debug(Object o) { l.debug(o); }
063    
064        void debug(Object o, Throwable t) { l.debug(o, t); }
065    
066        void info(Object o) { l.info(o); }
067    
068        void info(Object o, Throwable t) { l.info(o, t); }
069    
070        void warn(Object o) { l.warn(o); }
071    
072        void warn(Object o, Throwable t) { l.warn(o, t); }
073    
074        void error(Object o) { l.error(o); }
075    
076        void error(Object o, Throwable t) { l.error(o, t); }
077    
078        void fatal(Object o) { l.fatal(o); }
079    
080        void fatal(Object o, Throwable t) { l.fatal(o, t); }
081    
082        boolean isDebugEnabled() { return l.isDebugEnabled(); }
083    
084        boolean isInfoEnabled() { return l.isInfoEnabled(); }
085    
086        Object getLog4jLogger() { return l; }
087    }