Example usage for org.apache.solr.logging LogWatcher getLastEvent

List of usage examples for org.apache.solr.logging LogWatcher getLastEvent

Introduction

In this page you can find the example usage for org.apache.solr.logging LogWatcher getLastEvent.

Prototype

public long getLastEvent() 

Source Link

Usage

From source file:org.vootoo.logging.logback.LogbackWatcherTest.java

License:Apache License

@Test
public void testLogbackWatcher() {

    Logger log = LoggerFactory.getLogger("testlogger");
    LogWatcher watcher = LogWatcher.newRegisteredLogWatcher(config, loader);

    assertEquals(watcher.getLastEvent(), -1);

    log.warn("This is a test message");

    assertTrue(watcher.getLastEvent() > -1);

    SolrDocumentList events = watcher.getHistory(-1, new AtomicBoolean());
    assertEquals(events.size(), 1);//from  w w  w . j  a  va2  s  .c  o  m

    SolrDocument event = events.get(0);
    assertEquals(event.get("logger"), "testlogger");
    assertEquals(event.get("message"), "This is a test message");

    //test set watcherThreshold
    watcher.setThreshold("info");
    long last = watcher.getLastEvent();
    sleep(5);

    log.info("test info message");

    assertTrue(watcher.getLastEvent() > last);

    events = watcher.getHistory(last, new AtomicBoolean());
    assertEquals(events.size(), 1);

    event = events.get(0);
    assertEquals(event.get("logger"), "testlogger");//level
    assertEquals(event.get("message"), "test info message");
    assertTrue("info".equalsIgnoreCase(event.get("level").toString()));

    watcher.setThreshold("warn");
    last = watcher.getLastEvent();
    sleep(5);

    log.info("test another info message");

    assertTrue(watcher.getLastEvent() == last);
}