/** Call this from your code to test each type of log message */ public static void testLogger() { setDefaultHandler(); assert null != CleanHandler.class.getResource("CleanHandler.properties"); assert null != java.util.ResourceBundle.getBundle ("edu.mines.jtk.util.CleanHandler") : "can't find rb"; Logger logger = Logger.getLogger("edu.mines.jtk.util", "edu.mines.jtk.util.CleanHandler"); logger.severe("test a severe"); logger.warning("test a warning"); logger.info("test an info"); logger.info("test a\\"); logger.info(" continued info"); logger.config("test an config"); logger.fine("test a fine"); logger.finer("test a finer"); logger.finest("test a finest"); logger.info("testmessage"); logger.info("Try this:>>${testmessage}<<"); logger.info("Try this:>>${testmessage}<< >>${testmessage}<<"); }
/** * run tests * * @param argv command line * @throws Exception test failures */ public static void main(final String[] argv) throws Exception { CleanHandler.setDefaultHandler(); final Monitor monitor = new LogMonitor("${Test}", LOG); monitor.report(0); final int pause = 25; Thread.sleep(pause); monitor.report(0); final int n = 25; for (int i = 0; i < n; ++i) { monitor.report(i / (n - 1.0)); Thread.sleep(pause); } } }
/** Unit tests */ public void testFormatter() { CleanHandler.setDefaultHandler(); Logger logger = Logger.getLogger("edu.mines.jtk.util.CleanFormatter"); CleanFormatter cf = new CleanFormatter(); String[] messages = new String[] {"one", "two", "three"}; Level[] levels = new Level[] {Level.INFO, Level.WARNING, Level.SEVERE}; String[] s = new String[3]; for (int i=0; i<messages.length; ++i) { LogRecord lr = new LogRecord(levels[i], messages[i]); lr.setSourceClassName("Class"); lr.setSourceMethodName("method"); s[i] = cf.format(lr); assertTrue(s[i].endsWith(messages[i]+NL)); logger.fine("|"+s[i]+"|"); } assert s[0].equals("one"+NL): s[0]; assert s[1].equals("WARNING: two"+NL) : s[1]; assert s[2].matches("^\\*\\*\\*\\* SEVERE WARNING \\*\\*\\*\\* "+ "\\(Class.method \\d+-\\d+ #.*\\)"+NL+ "SEVERE: three"+NL+"$") :s[2]; }