java类org.apache.log4j.spi.ErrorHandler的实例源码

DOMConfigurator.java 文件源码 项目:cacheonix-core 阅读 21 收藏 0 点赞 0 评论 0
/**
    Used internally to parse an {@link ErrorHandler} element.
  */
 protected
 void parseErrorHandler(Element element, Appender appender) {
   ErrorHandler eh = (ErrorHandler) OptionConverter.instantiateByClassName(
                                      subst(element.getAttribute(CLASS_ATTR)),
                                      org.apache.log4j.spi.ErrorHandler.class, 
                       null);

   if(eh != null) {
     eh.setAppender(appender);

     PropertySetter propSetter = new PropertySetter(eh);
     NodeList children = element.getChildNodes();
     final int length   = children.getLength();

     for (int loop = 0; loop < length; loop++) {
Node currentNode = children.item(loop);
if (currentNode.getNodeType() == Node.ELEMENT_NODE) {
  Element currentElement = (Element) currentNode;
  String tagName = currentElement.getTagName();
  if(tagName.equals(PARAM_TAG)) {
           setParameter(currentElement, propSetter);
  } else if(tagName.equals(APPENDER_REF_TAG)) {
    eh.setBackupAppender(findAppenderByReference(currentElement));
  } else if(tagName.equals(LOGGER_REF)) {
    String loggerName = currentElement.getAttribute(REF_ATTR);      
    Logger logger = (catFactory == null) ? repository.getLogger(loggerName)
               : repository.getLogger(loggerName, catFactory);
    eh.setLogger(logger);
  } else if(tagName.equals(ROOT_REF)) {
    Logger root = repository.getRootLogger();
    eh.setLogger(root);
  } else {
         quietParseUnrecognizedElement(eh, currentElement, props);
     }
}
     }
     propSetter.activate();
     appender.setErrorHandler(eh);
   }
 }
TestAppender.java 文件源码 项目:vso-intellij 阅读 23 收藏 0 点赞 0 评论 0
@Override
public ErrorHandler getErrorHandler() {
    return null;
}
HttpThread.java 文件源码 项目:log4j-http-appender 阅读 22 收藏 0 点赞 0 评论 0
public HttpThread(HttpClient httpClient, ErrorHandler errorHandler) {
    this.httpClient = httpClient;
    this.errorHandler = errorHandler;
}
TestLog4jLogging.java 文件源码 项目:fauxjsp 阅读 21 收藏 0 点赞 0 评论 0
@Test
public void testLogging() {
    Log4jFactory factory = new Log4jFactory();
    org.apache.log4j.Logger loggerImpl= org.apache.log4j.Logger.getLogger("testlogger");

    final StringBuffer sb = new StringBuffer();
    loggerImpl.addAppender(new Appender() {

        @Override
        public void setName(String name) {
        }

        @Override
        public void setLayout(Layout layout) {
        }

        @Override
        public void setErrorHandler(ErrorHandler errorHandler) {
        }

        @Override
        public boolean requiresLayout() {
            return false;
        }

        @Override
        public String getName() {
            return null;
        }

        @Override
        public Layout getLayout() {
            return null;
        }

        @Override
        public Filter getFilter() {
            return null;
        }

        @Override
        public ErrorHandler getErrorHandler() {
            return null;
        }

        @Override
        public void doAppend(LoggingEvent event) {
            sb.append(event.getLevel()+" "+event.getMessage()+"\n");
        }

        @Override
        public void close() {
        }

        @Override
        public void clearFilters() {
        }

        @Override
        public void addFilter(Filter newFilter) {
        }
    });
    Logger logger = factory.getLogger("testlogger");
    logger.trace("trace message");
    logger.debug("debug message");
    logger.info("info message");
    logger.warn("warn message");
    logger.error("error message");
    logger.error("error exception", new RuntimeException("Testing error logger, please ignore this exception"));

    String expected = "INFO info message\n" + "WARN warn message\n" + "ERROR error message\n"
            + "ERROR error exception\n";
    Assert.assertEquals(expected, sb.toString());
}
QuietWriter.java 文件源码 项目:daq-eclipse 阅读 24 收藏 0 点赞 0 评论 0
public
QuietWriter(Writer writer, ErrorHandler errorHandler) {
  super(writer);
  setErrorHandler(errorHandler);
}
SyslogQuietWriter.java 文件源码 项目:daq-eclipse 阅读 19 收藏 0 点赞 0 评论 0
public
SyslogQuietWriter(Writer writer, int syslogFacility, ErrorHandler eh) {
  super(writer, eh);
  this.syslogFacility = syslogFacility;
}
CountingQuietWriter.java 文件源码 项目:daq-eclipse 阅读 20 收藏 0 点赞 0 评论 0
public
CountingQuietWriter(Writer writer, ErrorHandler eh) {
  super(writer, eh);
}
PropertyConfigurator.java 文件源码 项目:daq-eclipse 阅读 27 收藏 0 点赞 0 评论 0
Appender parseAppender(Properties props, String appenderName) {
   Appender appender = registryGet(appenderName);
   if((appender != null)) {
     LogLog.debug("Appender \"" + appenderName + "\" was already parsed.");
     return appender;
   }
   // Appender was not previously initialized.
   String prefix = APPENDER_PREFIX + appenderName;
   String layoutPrefix = prefix + ".layout";

   appender = (Appender) OptionConverter.instantiateByKey(props, prefix,
                      org.apache.log4j.Appender.class,
                      null);
   if(appender == null) {
     LogLog.error(
             "Could not instantiate appender named \"" + appenderName+"\".");
     return null;
   }
   appender.setName(appenderName);

   if(appender instanceof OptionHandler) {
     if(appender.requiresLayout()) {
Layout layout = (Layout) OptionConverter.instantiateByKey(props,
                              layoutPrefix,
                              Layout.class,
                              null);
if(layout != null) {
  appender.setLayout(layout);
  LogLog.debug("Parsing layout options for \"" + appenderName +"\".");
  //configureOptionHandler(layout, layoutPrefix + ".", props);
         PropertySetter.setProperties(layout, props, layoutPrefix + ".");
  LogLog.debug("End of parsing for \"" + appenderName +"\".");
}
     }
     final String errorHandlerPrefix = prefix + ".errorhandler";
     String errorHandlerClass = OptionConverter.findAndSubst(errorHandlerPrefix, props);
     if (errorHandlerClass != null) {
        ErrorHandler eh = (ErrorHandler) OptionConverter.instantiateByKey(props,
                  errorHandlerPrefix,
                  ErrorHandler.class,
                  null);
        if (eh != null) {
              appender.setErrorHandler(eh);
              LogLog.debug("Parsing errorhandler options for \"" + appenderName +"\".");
              parseErrorHandler(eh, errorHandlerPrefix, props, repository);
              final Properties edited = new Properties();
              final String[] keys = new String[] { 
                      errorHandlerPrefix + "." + ROOT_REF,
                      errorHandlerPrefix + "." + LOGGER_REF,
                      errorHandlerPrefix + "." + APPENDER_REF_TAG
              };
              for(Iterator iter = props.entrySet().iterator();iter.hasNext();) {
                  Map.Entry entry = (Map.Entry) iter.next();
                  int i = 0;
                  for(; i < keys.length; i++) {
                      if(keys[i].equals(entry.getKey())) break;
                  }
                  if (i == keys.length) {
                      edited.put(entry.getKey(), entry.getValue());
                  }
              }
              PropertySetter.setProperties(eh, edited, errorHandlerPrefix + ".");
              LogLog.debug("End of errorhandler parsing for \"" + appenderName +"\".");
        }

     }
     //configureOptionHandler((OptionHandler) appender, prefix + ".", props);
     PropertySetter.setProperties(appender, props, prefix + ".");
     LogLog.debug("Parsed \"" + appenderName +"\" options.");
   }
   parseAppenderFilters(props, appenderName, appender);
   registryPut(appender);
   return appender;
 }
DOMConfigurator.java 文件源码 项目:daq-eclipse 阅读 28 收藏 0 点赞 0 评论 0
/**
    Used internally to parse an {@link ErrorHandler} element.
  */
 protected
 void parseErrorHandler(Element element, Appender appender) {
   ErrorHandler eh = (ErrorHandler) OptionConverter.instantiateByClassName(
                                      subst(element.getAttribute(CLASS_ATTR)),
                                      org.apache.log4j.spi.ErrorHandler.class, 
                       null);

   if(eh != null) {
     eh.setAppender(appender);

     PropertySetter propSetter = new PropertySetter(eh);
     NodeList children = element.getChildNodes();
     final int length   = children.getLength();

     for (int loop = 0; loop < length; loop++) {
Node currentNode = children.item(loop);
if (currentNode.getNodeType() == Node.ELEMENT_NODE) {
  Element currentElement = (Element) currentNode;
  String tagName = currentElement.getTagName();
  if(tagName.equals(PARAM_TAG)) {
           setParameter(currentElement, propSetter);
  } else if(tagName.equals(APPENDER_REF_TAG)) {
    eh.setBackupAppender(findAppenderByReference(currentElement));
  } else if(tagName.equals(LOGGER_REF)) {
    String loggerName = currentElement.getAttribute(REF_ATTR);      
    Logger logger = (catFactory == null) ? repository.getLogger(loggerName)
               : repository.getLogger(loggerName, catFactory);
    eh.setLogger(logger);
  } else if(tagName.equals(ROOT_REF)) {
    Logger root = repository.getRootLogger();
    eh.setLogger(root);
  } else {
         quietParseUnrecognizedElement(eh, currentElement, props);
     }
}
     }
     propSetter.activate();
     appender.setErrorHandler(eh);
   }
 }
TaskAppender.java 文件源码 项目:Lucee4 阅读 18 收藏 0 点赞 0 评论 0
@Override
public ErrorHandler getErrorHandler() {
    return appender.getErrorHandler();
}


问题


面经


文章

微信
公众号

扫码关注公众号