/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.eas.logging; import com.eas.util.logging.PlatypusFormatter; import java.util.logging.ConsoleHandler; import java.util.logging.Formatter; import java.util.logging.Handler; import java.util.logging.Level; import java.util.logging.LogRecord; import java.util.logging.Logger; import static org.hamcrest.CoreMatchers.is; import org.junit.Assert; import static org.junit.Assert.*; import org.junit.Before; import org.junit.Test; /** * * @author mg */ public class FormatterTest { public static final String TEST_LOGGER_NAME = "testLogger"; private HandlerMock handler; private Logger logger; private static class HandlerMock extends ConsoleHandler { private final Formatter formatter = new PlatypusFormatter(); private String lastPublished; @Override public void publish(LogRecord record) { lastPublished = formatter.format(record); } @Override public void flush() { } @Override public void close() throws SecurityException { } } @Before public void setup() { handler = new HandlerMock(); logger = Logger.getLogger(TEST_LOGGER_NAME); logger.setUseParentHandlers(false); logger.addHandler(handler); } @Test public void messageTest() { Logger.getLogger(TEST_LOGGER_NAME).log(Level.WARNING, "test message 1"); } @Test public void exceptionTest() { try { throw new IllegalStateException("test exception"); } catch (Exception ex) { logger.log(Level.SEVERE, null, ex); assertTrue(handler.lastPublished.substring(handler.lastPublished.indexOf("\t")).startsWith("\tSEVERE\tnull\tjava.lang.IllegalStateException")); } } }