private void redirectLogsTo(OutputStream os, Class<?> clazz) { Logger logger = (Logger) LoggerFactory.getLogger(clazz); Appender<ILoggingEvent> appender = mock(Appender.class); when(appender.isStarted()).thenReturn(true); doAnswer(writeTo(os)).when(appender).doAppend(any(ILoggingEvent.class)); logger.addAppender(appender); }
@Override protected boolean isComponentStale(Appender<E> appender) { return !appender.isStarted(); }
private boolean isEntryStale(Entry entry, long now) { // stopped or improperly started appenders are considered stale // see also http://jira.qos.ch/browse/LBCLASSIC-316 if(!entry.value.isStarted()) return true; // unused appenders are also considered stale return ((entry.timestamp + THRESHOLD) < now); }
@Override protected boolean isComponentStale(Appender<E> appender) { return !appender.isStarted(); }
private boolean isEntryStale(Entry entry, long now) { // stopped or improperly started appenders are considered stale // see also http://jira.qos.ch/browse/LBCLASSIC-316 if(!entry.value.isStarted()) return true; // unused appenders are also considered stale return ((entry.timestamp + THRESHOLD) < now); }
@Override protected boolean isComponentStale(Appender<E> appender) { return !appender.isStarted(); }
@Override public boolean isStarted() { return delegate.isStarted(); }
@Override public boolean isStarted() { return delegate.isStarted(); }
@Override protected boolean isComponentStale(Appender<E> appender) { return !appender.isStarted(); }
@Override protected boolean isComponentStale(Appender<E> appender) { return !appender.isStarted(); }
@Override protected boolean isComponentStale(Appender<E> appender) { return !appender.isStarted(); }
private void startDelegateAppender() { Appender<ILoggingEvent> delegateAppender = delegate.get(); if (null != delegateAppender && !delegateAppender.isStarted()) { delegateAppender.start(); } }
private void startDelegateAppender() { Appender<ILoggingEvent> delegateAppender = delegate.get(); if (null != delegateAppender && !delegateAppender.isStarted()) { delegateAppender.start(); } }
private void stopDelegateAppenders() { for (Iterator<Appender<Event>> appenderIter = appenders.iteratorForAppenders(); appenderIter.hasNext();) { Appender<Event> appender = appenderIter.next(); if (appender.isStarted()) { appender.stop(); } } }
private void startDelegateAppenders() { for (Iterator<Appender<Event>> appenderIter = appenders.iteratorForAppenders(); appenderIter.hasNext();) { Appender<Event> appender = appenderIter.next(); if (appender.getContext() == null) { appender.setContext(getContext()); } if (!appender.isStarted()) { appender.start(); } } }
@Test public void testNewAppender() { // new appenders should be inactive Appender<E> appender = getAppender(); assertFalse( appender.isStarted()); }
@Test public void trackerShouldHonorMaxComponentsParameter() { List<Appender<Object>> appenderList = new ArrayList<Appender<Object>>(); int max = 10; appenderTracker.setMaxComponents(max); for (int i = 0; i < (max + 1); i++) { Appender<Object> a = appenderTracker.getOrCreate(key + "-" + i, now++); appenderList.add(a); } // cleaning only happens in removeStaleComponents appenderTracker.removeStaleComponents(now++); assertEquals(max, appenderTracker.allKeys().size()); assertNull(appenderTracker.find(key + "-" + 0)); assertFalse(appenderList.get(0).isStarted()); }
@Test public void endOfLivedAppendersShouldBeRemovedAfterLingeringTimeout() { Appender<Object> a = appenderTracker.getOrCreate(key, now); appenderTracker.endOfLife(key); now += AppenderTracker.LINGERING_TIMEOUT + 1; appenderTracker.removeStaleComponents(now); assertFalse(a.isStarted()); a = appenderTracker.find(key); assertNull(a); }