Class TestLogHandler


  • @Beta
    @GwtCompatible
    public class TestLogHandler
    extends java.util.logging.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
    • Constructor Summary

      Constructors 
      Constructor Description
      TestLogHandler()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void clear()  
      void close()  
      void flush()  
      java.util.List<java.util.logging.LogRecord> getStoredLogRecords()
      Returns a snapshot of the logged records.
      void publish​(java.util.logging.LogRecord record)
      Adds the most recently logged record to our list.
      • Methods inherited from class java.util.logging.Handler

        getEncoding, getErrorManager, getFilter, getFormatter, getLevel, isLoggable, reportError, setEncoding, setErrorManager, setFilter, setFormatter, setLevel
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • TestLogHandler

        public TestLogHandler()
    • Method Detail

      • publish

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

        public void flush()
        Specified by:
        flush in class java.util.logging.Handler
      • close

        public void close()
        Specified by:
        close in class java.util.logging.Handler
      • clear

        public void clear()
      • getStoredLogRecords

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