1 /* 2 * Copyright 2012 The Netty Project 3 * 4 * The Netty Project licenses this file to you under the Apache License, 5 * version 2.0 (the "License"); you may not use this file except in compliance 6 * with the License. You may obtain a copy of the License at: 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 * License for the specific language governing permissions and limitations 14 * under the License. 15 */ 16 package io.netty.util.internal.logging; 17 18 19 import org.slf4j.LoggerFactory; 20 import org.slf4j.helpers.NOPLoggerFactory; 21 22 /** 23 * Logger factory which creates a <a href="http://www.slf4j.org/">SLF4J</a> 24 * logger. 25 */ 26 public class Slf4JLoggerFactory extends InternalLoggerFactory { 27 28 @SuppressWarnings("deprecation") 29 public static final InternalLoggerFactory INSTANCE = new Slf4JLoggerFactory(); 30 31 /** 32 * @deprecated Use {@link #INSTANCE} instead. 33 */ 34 @Deprecated 35 public Slf4JLoggerFactory() { 36 } 37 38 Slf4JLoggerFactory(boolean failIfNOP) { 39 assert failIfNOP; // Should be always called with true. 40 if (LoggerFactory.getILoggerFactory() instanceof NOPLoggerFactory) { 41 throw new NoClassDefFoundError("NOPLoggerFactory not supported"); 42 } 43 } 44 45 @Override 46 public InternalLogger newInstance(String name) { 47 return new Slf4JLogger(LoggerFactory.getLogger(name)); 48 } 49 }