Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright (c) 2007, 2008, 2009, 2010, 2011, 2012 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 Log4JLoggerAdapter implements LoggerAdapter {
 
   private Logger logger;
   private boolean autoFillLogicalContext = false;
 
   public Log4JLoggerAdapter (Logger logger) {
 
     this. = logger;
 
     logger.setAdditivity(false);
 
   }
 
   public String getName () {
 
     return .getName();
   }
 
   public boolean getAutoFillLogicalContext () {
 
     return ;
   }
 
   public void setAutoFillLogicalContext (boolean autoFillLogicalContext) {
 
     this. = autoFillLogicalContext;
   }
 
   public void addFilter (Filter filter) {
 
     .add(filter);
   }
 
   public void clearFilters () {
 
     .clear();
   }
 
   public void addAppender (Appender appender) {
 
     .addAppender(new Log4JAppenderWrapper(appender));
   }
 
   public Appender removeAppender (Appender appender) {
 
     return removeAppender(appender.getName());
   }
 
   public Appender removeAppender (String name) {
 
     org.apache.log4j.Appender appender;
 
     if ((appender = .getAppender(name)) != null) {
       .removeAppender(name);
      if (appender instanceof Log4JAppenderWrapper) {
        return ((Log4JAppenderWrapper)appender).getInnerAppender();
      }
      else {
        throw new UnsupportedOperationException("Appender can't be returned via this interface because it's Log4J native");
      }
    }
    return null;
  }
  public void clearAppenders () {
  }
  public void addEnhancer (Enhancer enhancer) {
    .add(enhancer);
  }
  public void clearEnhancers () {
  }
  public Level getLevel () {
    return (.getLevel() == null) ? . : Log4JLevelTranslator.getLevel(.getLevel());
  }
  public void setLevel (Level level) {
    .setLevel(Log4JLevelTranslator.getLog4JLevel(level));
  }
  public void logMessage (Discriminator discriminatorLevel levelThrowable throwableString messageObject... args) {
    Log4JRecordSubverter recordSubverter;
    LogicalContext logicalContext;
    if ((!level.equals(.)) && getLevel().noGreater(level)) {
      if ((logicalContext = willLog(discriminatorlevel)) != null) {
        recordSubverter = new Log4JRecordSubverter(discriminatorlevelnulllogicalContextthrowablemessageargs);
        enhanceRecord(recordSubverter.getRecord());
        .callAppenders(recordSubverter);
      }
    }
  }
  public void logProbe (Discriminator discriminatorLevel levelThrowable throwableProbeReport probeReport) {
    Log4JRecordSubverter recordSubverter;
    LogicalContext logicalContext;
    if ((!level.equals(.)) && getLevel().noGreater(level)) {
      if ((logicalContext = willLog(discriminatorlevel)) != null) {
        recordSubverter = new Log4JRecordSubverter(discriminatorlevelprobeReportlogicalContextthrowable, (probeReport.getTitle() == null) ? "Probe Report" : probeReport.getTitle());
        enhanceRecord(recordSubverter.getRecord());
        .callAppenders(recordSubverter);
      }
    }
  }
  public void logMessage (Discriminator discriminatorLevel levelThrowable throwableObject object) {
    Log4JRecordSubverter recordSubverter;
    LogicalContext logicalContext;
    if ((!level.equals(.)) && getLevel().noGreater(level)) {
      if ((logicalContext = willLog(discriminatorlevel)) != null) {
        recordSubverter = new Log4JRecordSubverter(discriminatorlevelnulllogicalContextthrowable, (object == null) ? null : object.toString());
        enhanceRecord(recordSubverter.getRecord());
        .callAppenders(recordSubverter);
      }
    }
  }
  private LogicalContext willLog (Discriminator discriminatorLevel level) {
    LogicalContext logicalContext;
    Record filterRecord;
    logicalContext = new DefaultLogicalContext();
    if (getAutoFillLogicalContext()) {
      logicalContext.fillIn();
    }
    if (!.isEmpty()) {
      filterRecord = new Log4JRecordSubverter(discriminatorlevelnulllogicalContextnullnull).getRecord();
      for (Filter filter : ) {
        if (!filter.willLog(filterRecord)) {
          return null;
        }
      }
    }
    return logicalContext;
  }
  private void enhanceRecord (Record record) {
    for (Enhancer enhancer : ) {
      enhancer.enhance(record);
    }
  }
New to GrepCode? Check out our FAQ X