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.jboss;
019
020import net.sf.hajdbc.logging.Logger;
021import net.sf.hajdbc.logging.LoggingProvider;
022
023/**
024 * @author Paul Ferraro
025 */
026public class JBossLoggingProvider implements LoggingProvider
027{
028        /**
029         * {@inheritDoc}
030         * @see net.sf.hajdbc.logging.LoggingProvider#isEnabled()
031         */
032        @Override
033        public boolean isEnabled()
034        {
035                try
036                {
037                        this.getClass().getClassLoader().loadClass("org.jboss.logging.Logger");
038                        return true;
039                }
040                catch (Throwable e)
041                {
042                        return false;
043                }
044        }
045
046        /**
047         * {@inheritDoc}
048         * @see net.sf.hajdbc.logging.LoggingProvider#getLogger(java.lang.Class)
049         */
050        @Override
051        public Logger getLogger(Class<?> targetClass)
052        {
053                return new JBossLogger(targetClass);
054        }
055
056        /**
057         * {@inheritDoc}
058         * @see net.sf.hajdbc.logging.LoggingProvider#getName()
059         */
060        @Override
061        public String getName()
062        {
063                return "JBoss";
064        }
065}