@Override public Filter<LoggingEvent> build() { final DynamicThresholdLoggerFilter filter = new DynamicThresholdLoggerFilter(); // DynamicThresholdLoggerFilter has defaults for defaultThreshold, onHigherOrEqual and onLower if (defaultThreshold != null) { filter.setDefaultThreshold(Level.toLevel(defaultThreshold)); } if (onHigherOrEqual != null) { filter.setOnHigherOrEqual(FilterReply.valueOf(onHigherOrEqual)); } if (onLower != null) { filter.setOnLower(FilterReply.valueOf(onLower)); } loggers.forEach(filter::addLogger); filter.start(); return filter; } }
/** * Tests a denied Logback-access event. */ @Test public void deniedLogbackAccessEvent() { RequestEntity<Void> request = RequestEntity .get(rest.getRestTemplate().getUriTemplateHandler().expand("/test/text")) .header("X-Filter-Reply", FilterReply.DENY.name()) .build(); ResponseEntity<String> response = rest.exchange(request, String.class); LogbackAccessEventQueuingListener.deniedEventQueue.pop(); assertThat(response).hasStatusCode(HttpStatus.OK); }
/** * Tests an neutral Logback-access event. */ @Test public void neutralLogbackAccessEvent() { RequestEntity<Void> request = RequestEntity .get(rest.getRestTemplate().getUriTemplateHandler().expand("/test/text")) .header("X-Filter-Reply", FilterReply.NEUTRAL.name()) .build(); ResponseEntity<String> response = rest.exchange(request, String.class); LogbackAccessEventQueuingAppender.appendedEventQueue.pop(); LogbackAccessEventQueuingListener.appendedEventQueue.pop(); assertThat(response).hasStatusCode(HttpStatus.OK); }
/** * Tests an accepted Logback-access event. */ @Test public void acceptedLogbackAccessEvent() { RequestEntity<Void> request = RequestEntity .get(rest.getRestTemplate().getUriTemplateHandler().expand("/test/text")) .header("X-Filter-Reply", FilterReply.ACCEPT.name()) .build(); ResponseEntity<String> response = rest.exchange(request, String.class); LogbackAccessEventQueuingAppender.appendedEventQueue.pop(); LogbackAccessEventQueuingListener.appendedEventQueue.pop(); assertThat(response).hasStatusCode(HttpStatus.OK); }