root.addAppender(appender);
root.setAdditive(false);
root.setLevel(Level.DEBUG);
root.debug("This is a test message");
final Exception parent = new IllegalStateException("Test");
final Throwable child = new LoggingException("This is a test");
root.error("Throwing an exception", child);
root.debug("This is another test message");
Thread.sleep(250);
LogEvent event = list.poll(3, TimeUnit.SECONDS);
assertNotNull("No event retrieved", event);