Class TestLogHandler

java.lang.Object
java.util.logging.Handler
com.google.common.testing.TestLogHandler

@GwtCompatible @NullMarked public class TestLogHandler extends Handler
Tests may use this to intercept messages that are logged by the code under test. Example:
   TestLogHandler handler;

   protected void setUp() throws Exception {
     super.setUp();
     handler = new TestLogHandler();
     SomeClass.logger.addHandler(handler);
     addTearDown(new TearDown() {
       public void tearDown() throws Exception {
         SomeClass.logger.removeHandler(handler);
       }
     });
   }

   public void test() {
     SomeClass.foo();
     LogRecord firstRecord = handler.getStoredLogRecords().get(0);
     assertEquals("some message", firstRecord.getMessage());
   }
 
Since:
10.0
Author:
Kevin Bourrillion
  • Constructor Details

    • TestLogHandler

      public TestLogHandler()
  • Method Details

    • publish

      public void publish(@Nullable LogRecord record)
      Adds the most recently logged record to our list.
      Specified by:
      publish in class Handler
    • flush

      public void flush()
      Specified by:
      flush in class Handler
    • close

      public void close()
      Specified by:
      close in class Handler
    • clear

      public void clear()
    • getStoredLogRecords

      public List<LogRecord> getStoredLogRecords()
      Returns a snapshot of the logged records.