001    /**
002     *   GRANITE DATA SERVICES
003     *   Copyright (C) 2006-2013 GRANITE DATA SERVICES S.A.S.
004     *
005     *   This file is part of the Granite Data Services Platform.
006     *
007     *   Granite Data Services is free software; you can redistribute it and/or
008     *   modify it under the terms of the GNU Lesser General Public
009     *   License as published by the Free Software Foundation; either
010     *   version 2.1 of the License, or (at your option) any later version.
011     *
012     *   Granite Data Services is distributed in the hope that it will be useful,
013     *   but WITHOUT ANY WARRANTY; without even the implied warranty of
014     *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
015     *   General Public License for more details.
016     *
017     *   You should have received a copy of the GNU Lesser General Public
018     *   License along with this library; if not, write to the Free Software
019     *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
020     *   USA, or see <http://www.gnu.org/licenses/>.
021     */
022    package org.granite.logging;
023    
024    import org.apache.log4j.Level;
025    import org.apache.log4j.LogManager;
026    
027    /**
028     * @author Franck WOLFF
029     */
030    public class Log4jLogger extends Logger {
031            
032        ///////////////////////////////////////////////////////////////////////////
033        // Fields.
034    
035            private static final String FQCN = Log4jLogger.class.getName();
036            
037        ///////////////////////////////////////////////////////////////////////////
038        // Constructor.
039    
040        public Log4jLogger(String name, LoggingFormatter formatter) {
041            super(LogManager.getLogger(name), formatter);
042        }
043    
044        ///////////////////////////////////////////////////////////////////////////
045        // Utility getter.
046    
047        @Override
048            protected org.apache.log4j.Logger getLoggerImpl() {
049            return (org.apache.log4j.Logger)super.getLoggerImpl();
050        }
051        
052        ///////////////////////////////////////////////////////////////////////////
053        // Logging methods.
054    
055        @Override
056            public void info(String message, Object... args) {
057            if (isInfoEnabled())
058                getLoggerImpl().log(FQCN, Level.INFO, getFormatter().format(message, args), null);
059        }
060    
061        @Override
062        public void info(Throwable t, String message, Object... args) {
063            if (isInfoEnabled())
064                getLoggerImpl().log(FQCN, Level.INFO, getFormatter().format(message, args), t);
065        }
066    
067        @Override
068        public void trace(String message, Object... args) {
069            if (isTraceEnabled())
070                getLoggerImpl().log(FQCN, Level.TRACE, getFormatter().format(message, args), null);
071        }
072    
073        @Override
074        public void trace(Throwable t, String message, Object... args) {
075            if (isTraceEnabled())
076                getLoggerImpl().log(FQCN, Level.TRACE, getFormatter().format(message, args), t);
077        }
078    
079        @Override
080        public void warn(String message, Object... args) {
081            if (isWarnEnabled())
082                getLoggerImpl().log(FQCN, Level.WARN, getFormatter().format(message, args), null);
083        }
084    
085        @Override
086        public void warn(Throwable t, String message, Object... args) {
087            if (isWarnEnabled())
088                getLoggerImpl().log(FQCN, Level.WARN, getFormatter().format(message, args), t);
089        }
090    
091        @Override
092        public void debug(String message, Object... args) {
093            if (isDebugEnabled())
094                getLoggerImpl().log(FQCN, Level.DEBUG, getFormatter().format(message, args), null);
095        }
096    
097        @Override
098        public void debug(Throwable t, String message, Object... args) {
099            if (isDebugEnabled())
100                getLoggerImpl().log(FQCN, Level.DEBUG, getFormatter().format(message, args), t);
101        }
102    
103        @Override
104        public void error(String message, Object... args) {
105            if (isErrorEnabled())
106                getLoggerImpl().log(FQCN, Level.ERROR, getFormatter().format(message, args), null);
107        }
108    
109        @Override
110        public void error(Throwable t, String message, Object... args) {
111            if (isErrorEnabled())
112                getLoggerImpl().log(FQCN, Level.ERROR, getFormatter().format(message, args), t);
113        }
114    
115        ///////////////////////////////////////////////////////////////////////////
116        // Configuration.
117    
118        @Override
119        public boolean isDebugEnabled() {
120            return getLoggerImpl().isEnabledFor(Level.DEBUG);
121        }
122    
123        @Override
124        public boolean isErrorEnabled() {
125            return getLoggerImpl().isEnabledFor(Level.ERROR);
126        }
127    
128        @Override
129        public boolean isFatalEnabled() {
130            return getLoggerImpl().isEnabledFor(Level.FATAL);
131        }
132    
133        @Override
134        public boolean isInfoEnabled() {
135            return getLoggerImpl().isEnabledFor(Level.INFO);
136        }
137    
138        @Override
139        public boolean isTraceEnabled() {
140            return getLoggerImpl().isEnabledFor(Level.TRACE);
141        }
142    
143        @Override
144        public boolean isWarnEnabled() {
145            return getLoggerImpl().isEnabledFor(Level.WARN);
146        }
147    }