/* * Copyright (C) 2011 Laurent Caillette * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation, either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package org.novelang.logger; import org.slf4j.Logger; /** * @author Laurent Caillette */ public class Slf4jLoggerWrapper extends AbstractLogger { private final org.slf4j.Logger slf4jLogger ; public Slf4jLoggerWrapper( final Logger slf4jLogger ) { this.slf4jLogger = slf4jLogger ; } @Override protected void log( final Level level, final String message, final Throwable throwable ) { switch( level ) { case ERROR : if( throwable == null ) { slf4jLogger.error( message ) ; } else { slf4jLogger.error( message, throwable ) ; } break ; case WARN : if( throwable == null ) { slf4jLogger.warn( message ) ; } else { slf4jLogger.warn( message, throwable ) ; } break ; case INFO : if( throwable == null ) { slf4jLogger.info( message ) ; } else { slf4jLogger.info( message, throwable ) ; } break ; case DEBUG: if( throwable == null ) { slf4jLogger.debug( message ) ; } else { slf4jLogger.debug( message, throwable ) ; } break; case TRACE: if( throwable == null ) { slf4jLogger.trace( message ) ; } else { slf4jLogger.trace( message, throwable ) ; } break; } } @Override public String getName() { return slf4jLogger.getName() ; } @Override public boolean isTraceEnabled() { return slf4jLogger.isTraceEnabled() ; } @Override public boolean isDebugEnabled() { return slf4jLogger.isDebugEnabled() ; } @Override public boolean isInfoEnabled() { return slf4jLogger.isInfoEnabled() ; } }