1 /* 2 * Copyright 1999-2005 The Apache Software Foundation. 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * 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, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package org.apache.log4j.varia; 18 19 import org.apache.log4j.Appender; 20 import org.apache.log4j.Layout; 21 import org.apache.log4j.spi.OptionHandler; 22 import org.apache.log4j.spi.LoggingEvent; 23 import org.apache.log4j.spi.ErrorHandler; 24 import org.apache.log4j.spi.Filter; 25 import org.apache.log4j.AppenderSkeleton; 26 27 /** 28 * A NullAppender merely exists, it never outputs a message to any 29 * device. 30 * @author Ceki Gülc¨ 31 */ 32 public class NullAppender extends AppenderSkeleton { 33 34 private static NullAppender instance = new NullAppender(); 35 36 public NullAppender() { 37 } 38 39 /** 40 * There are no options to acticate. 41 * */ 42 public void activateOptions() { 43 } 44 45 /** 46 * Whenever you can, use this method to retreive an instance instead 47 * of instantiating a new one with <code>new</code>. 48 * */ 49 public NullAppender getInstance() { 50 return instance; 51 } 52 53 public void close() { 54 } 55 56 /** 57 * Does not do anything. 58 * */ 59 public void doAppend(LoggingEvent event) { 60 } 61 62 /** 63 * Does not do anything. 64 * */ 65 protected void append(LoggingEvent event) { 66 } 67 68 /** 69 * NullAppenders do not need a layout. 70 * */ 71 public boolean requiresLayout() { 72 return false; 73 } 74 } 75