001/* 002 * HA-JDBC: High-Availability JDBC 003 * Copyright (C) 2012 Paul Ferraro 004 * 005 * This program is free software: you can redistribute it and/or modify 006 * it under the terms of the GNU Lesser General Public License as published by 007 * the Free Software Foundation, either version 3 of the License, or 008 * (at your option) any later version. 009 * 010 * This program is distributed in the hope that it will be useful, 011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 013 * GNU Lesser General Public License for more details. 014 * 015 * You should have received a copy of the GNU Lesser General Public License 016 * along with this program. If not, see <http://www.gnu.org/licenses/>. 017 */ 018package net.sf.hajdbc.logging.slf4j; 019 020import net.sf.hajdbc.logging.Logger; 021import net.sf.hajdbc.logging.LoggingProvider; 022 023/** 024 * <a href="http://slf4j.org">SLF4J</a>-based logging service provider. 025 * @author Paul Ferraro 026 */ 027public class SLF4JLoggingProvider implements LoggingProvider 028{ 029 /** 030 * {@inheritDoc} 031 * @see net.sf.hajdbc.logging.LoggingProvider#getLogger(java.lang.Class) 032 */ 033 @Override 034 public Logger getLogger(Class<?> targetClass) 035 { 036 return new SLF4JLogger(targetClass); 037 } 038 039 /** 040 * {@inheritDoc} 041 * @see net.sf.hajdbc.logging.LoggingProvider#getName() 042 */ 043 @Override 044 public String getName() 045 { 046 return "SLF4J"; 047 } 048 049 /** 050 * {@inheritDoc} 051 * @see net.sf.hajdbc.logging.LoggingProvider#isEnabled() 052 */ 053 @Override 054 public boolean isEnabled() 055 { 056 try 057 { 058 return !org.slf4j.LoggerFactory.getILoggerFactory().getClass().equals(org.slf4j.helpers.NOPLoggerFactory.class); 059 } 060 catch (Throwable e) 061 { 062 return false; 063 } 064 } 065}