Java 类ch.qos.logback.core.status.StatusListener 实例源码

项目:wngn-jms-kafka    文件:KafkaAppenderIT.java   
@Before
public void beforeLogSystemInit() throws IOException, InterruptedException {

    kafka = TestKafka.createTestKafka(1);

    loggerContext = new LoggerContext();
    loggerContext.putProperty("brokers.list", kafka.getBrokerList());
    loggerContext.getStatusManager().add(new StatusListener() {
        @Override
        public void addStatusEvent(Status status) {
            if (status.getEffectiveLevel() > Status.INFO) {
                System.err.println(status.toString());
                if (status.getThrowable() != null) {
                    collector.addError(status.getThrowable());
                } else {
                    collector.addError(new RuntimeException("StatusManager reported warning: "+status.toString()));
                }
            } else {
                System.out.println(status.toString());
            }
        }
    });
    loggerContext.putProperty("HOSTNAME","localhost");

    unit = new KafkaAppender<ILoggingEvent>();
    final PatternLayout patternLayout = new PatternLayout();
    patternLayout.setPattern("%msg");
    patternLayout.setContext(loggerContext);
    patternLayout.start();
    unit.setEncoder(new LayoutKafkaMessageEncoder(patternLayout, Charset.forName("UTF-8")));
    unit.setTopic("logs");
    unit.setName("TestKafkaAppender");
    unit.setContext(loggerContext);
    unit.addProducerConfigValue(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, kafka.getBrokerList());
    unit.setKeyingStrategy(new RoundRobinKeyingStrategy());
}
项目:konker-platform    文件:KonkerLoggerContext.java   
private void resetStatusListeners() {
    StatusManager sm = this.getStatusManager();
    Iterator i$ = sm.getCopyOfStatusListenerList().iterator();

    while(i$.hasNext()) {
        StatusListener sl = (StatusListener)i$.next();
        sm.remove(sl);
    }

}
项目:konker-platform    文件:KonkerStatusListenerConfigHelper.java   
private static void initAndAddListener(KonkerLoggerContext loggerContext, StatusListener listener) {
    if(listener != null) {
        if(listener instanceof ContextAware) {
            ((ContextAware)listener).setContext(loggerContext);
        }

        if(listener instanceof LifeCycle) {
            ((LifeCycle)listener).start();
        }

        loggerContext.getStatusManager().add(listener);
    }

}
项目:konker-platform    文件:KonkerStatusListenerConfigHelper.java   
private static StatusListener createListenerPerClassName(KonkerLoggerContext loggerContext,
                                                         String listenerClass) {
    try {
        return (StatusListener)OptionHelper.instantiateByClassName(listenerClass, StatusListener.class, loggerContext);
    } catch (Exception var3) {
        var3.printStackTrace();
        return null;
    }
}
项目:bartleby    文件:BasicStatusManager.java   
private void fireStatusAddEvent(Status status) {
  synchronized (statusListenerListLock) {
    for (StatusListener sl : statusListenerList) {
      sl.addStatusEvent(status);
    }
  }
}
项目:bartleby    文件:BasicStatusManager.java   
/**
 * This implementation does not allow duplicate installations of OnConsoleStatusListener
 * @param listener
 */
public void add(StatusListener listener) {
  synchronized (statusListenerListLock) {
    if(listener instanceof OnConsoleStatusListener) {
      boolean alreadyPresent =  checkForPresence(statusListenerList, listener.getClass());
      if(alreadyPresent)
        return;
    }
    statusListenerList.add(listener);
  }
}
项目:bartleby    文件:BasicStatusManager.java   
private boolean checkForPresence(List<StatusListener> statusListenerList, Class<?> aClass) {
  for(StatusListener e: statusListenerList) {
    if(e.getClass() == aClass)
      return true;
  }
  return false;
}
项目:bartleby    文件:StatusListenerAction.java   
public void begin(InterpretationContext ec, String name, Attributes attributes) throws ActionException {
  inError = false;
  String className = attributes.getValue(CLASS_ATTRIBUTE);
  if (OptionHelper.isEmpty(className)) {
    addError("Missing class name for statusListener. Near ["
            + name + "] line " + getLineNumber(ec));
    inError = true;
    return;
  }

  try {
    statusListener = (StatusListener) OptionHelper.instantiateByClassName(
            className, StatusListener.class, context);
    ec.getContext().getStatusManager().add(statusListener);
    if (statusListener instanceof ContextAware) {
      ((ContextAware) statusListener).setContext(context);
    }
    addInfo("Added status listener of type [" + className + "]");
    ec.pushObject(statusListener);
  } catch (Exception e) {
    inError = true;
    addError(
            "Could not create an StatusListener of type [" + className + "].", e);
    throw new ActionException(e);
  }

}
项目:bartleby    文件:StatusListenerConfigHelper.java   
private static void initAndAddListener(LoggerContext loggerContext, StatusListener listener) {
  if (listener != null) {
    if(listener instanceof ContextAware) // LOGBACK-767
      ((ContextAware) listener).setContext(loggerContext);
    if(listener instanceof LifeCycle)  // LOGBACK-767
      ((LifeCycle) listener).start();
    loggerContext.getStatusManager().add(listener);
  }
}
项目:bartleby    文件:StatusListenerConfigHelper.java   
private static StatusListener createListenerPerClassName(LoggerContext loggerContext, String listenerClass) {
  try {
    return (StatusListener) OptionHelper.instantiateByClassName(
            listenerClass, StatusListener.class, loggerContext);
  } catch (Exception e) {
    // printing on the console is the best we can do
    e.printStackTrace();
    return null;
  }
}
项目:bartleby    文件:ContextInitializerTest.java   
@Test
public void autoStatusListener() throws JoranException {
  System.setProperty(ContextInitializer.STATUS_LISTENER_CLASS, TrivialStatusListener.class.getName());
  List<StatusListener> statusListenerList = loggerContext.getStatusManager().getCopyOfStatusListenerList();
  assertEquals(0, statusListenerList.size());
  doAutoConfigFromSystemProperties(ClassicTestConstants.INPUT_PREFIX + "autoConfig.xml");
  statusListenerList = loggerContext.getStatusManager().getCopyOfStatusListenerList();
  assertTrue(statusListenerList.size() +" should be 1", statusListenerList.size() == 1);
  // LOGBACK-767
  TrivialStatusListener tsl = (TrivialStatusListener) statusListenerList.get(0);
  assertTrue("expecting at least one event in list", tsl.list.size() > 0);
}
项目:bartleby    文件:ContextInitializerTest.java   
@Test
public void autoOnConsoleStatusListener() throws JoranException {
  System.setProperty(ContextInitializer.STATUS_LISTENER_CLASS,  ContextInitializer.SYSOUT);
  List<StatusListener> sll = loggerContext.getStatusManager().getCopyOfStatusListenerList();
  assertEquals(0, sll.size());
  doAutoConfigFromSystemProperties(ClassicTestConstants.INPUT_PREFIX + "autoConfig.xml");
  sll = loggerContext.getStatusManager().getCopyOfStatusListenerList();
  assertTrue(sll.size() +" should be 1", sll.size() == 1);
}
项目:bartleby    文件:BasicStatusManager.java   
public void remove(StatusListener listener) {
  synchronized (statusListenerListLock) {
    statusListenerList.remove(listener);
  }
}
项目:bartleby    文件:BasicStatusManager.java   
public List<StatusListener> getCopyOfStatusListenerList() {
  synchronized (statusListenerListLock) {
    return new ArrayList<StatusListener>(statusListenerList);
  }
}
项目:bartleby    文件:MockContext.java   
public void add(StatusListener listener) {
  throw new UnsupportedOperationException();
}
项目:bartleby    文件:MockContext.java   
public void remove(StatusListener listener) {
  throw new UnsupportedOperationException();
}
项目:bartleby    文件:MockContext.java   
public List<StatusListener> getCopyOfStatusListenerList() {
  throw new UnsupportedOperationException();
}
项目:bartleby    文件:JMXConfigurator.java   
void addStatusListener(StatusListener statusListener) {
  StatusManager sm = loggerContext.getStatusManager();
  sm.add(statusListener);
}
项目:bartleby    文件:JMXConfigurator.java   
void removeStatusListener(StatusListener statusListener) {
  StatusManager sm = loggerContext.getStatusManager();
  sm.remove(statusListener);
}
项目:bartleby    文件:LoggerContext.java   
private void resetStatusListeners() {
  StatusManager sm = getStatusManager();
  for (StatusListener sl : sm.getCopyOfStatusListenerList()) {
    sm.remove(sl);
  }
}