Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright (c) 2007, 2008, 2009, 2010, 2011 David Berkman
   * 
   * This file is part of the SmallMind Code Project.
   * 
   * The SmallMind Code Project is free software, you can redistribute
   * it and/or modify it under the terms of GNU Affero General Public
   * License as published by the Free Software Foundation, either version 3
   * of the License, or (at your option) any later version.
  * 
  * The SmallMind Code Project 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 the GNU Affero General Public
  * License, along with The SmallMind Code Project. If not, see
  * <http://www.gnu.org/licenses/>.
  * 
  * Additional permission under the GNU Affero GPL version 3 section 7
  * ------------------------------------------------------------------
  * If you modify this Program, or any covered work, by linking or
  * combining it with other code, such other code is not for that reason
  * alone subject to any of the requirements of the GNU Affero GPL
  * version 3.
  */
 package org.smallmind.scribe.ink.log4j;
 
 
 public class Log4JAppenderWrapper implements org.apache.log4j.Appender {
 
    private Appender appender;
 
    public Log4JAppenderWrapper (Appender appender) {
 
       this. = appender;
    }
 
    protected Appender getInnerAppender () {
 
       return ;
    }
 
    public String getName () {
 
       return .getName();
    }
 
    public void setName (String name) {
 
       .setName(name);
    }
 
    public void addFilter (Filter filter) {
 
       .addFilter(new Log4JFilterAdapter(filter));
    }
 
    public Filter getFilter () {
 
       throw new UnsupportedOperationException("Unsupported native Log4J method");
    }
 
    public void clearFilters () {
 
       throw new UnsupportedOperationException("Unsupported native Log4J method");
    }
 
    public void doAppend (LoggingEvent loggingEvent) {
 
       .publish(((RecordWrapper)loggingEvent).getRecord());
    }
 
    public void close () {
 
       // Log4J will close all Appenders when removing them from a Logger, even though under Log4J
       // Appenders are shared objects. So we can't let Log4J handle the close method> Bad Log4J.
    }
 
    public void setErrorHandler (ErrorHandler errorHandler) {
 
       .setErrorHandler(new Log4JErrorHandlerAdapter(errorHandler));
    }
 
    public ErrorHandler getErrorHandler () {
 
       throw new UnsupportedOperationException("Unsupported native Log4J method");
    }
 
    public void setLayout (Layout layout) {
 
       .setFormatter(new Log4JFormatterAdapter(layout));
    }
   public Layout getLayout () {
      throw new UnsupportedOperationException("Unsupported native Log4J method");
   }
   public boolean requiresLayout () {
      return .requiresFormatter();
   }
   public int hashCode () {
      return .hashCode();
   }
   public boolean equals (Object obj) {
      if (obj instanceof Log4JAppenderWrapper) {
         return .equals(((Log4JAppenderWrapper)obj).getInnerAppender());
      }
      return .equals(obj);
   }
   protected void finalize () {
      close();
   }
New to GrepCode? Check out our FAQ X