/** * check if a substring exists within any of the loggers output * * @deprecated "use matches(..." */ public boolean contains(String substring) { for (TestLogger l : loggers.values()) { if (l.matches(substring)) return true; } return false; }
/** * check if a substring exists within any of the loggers output * * @deprecated "use matches(..." */ public boolean contains(String substring) { for (TestLogger l : loggers.values()) { if (l.matches(substring)) return true; } return false; }
/** * check if a regex exists in a particular log level output */ public boolean matches(LogLevel level, String regex) { for (TestLogger l : loggers.values()) { if (l.matches(level, regex)) return true; } return false; }
/** * check if a regex exists in any of the loggers output */ public boolean matches(Pattern regex) { for (TestLogger l : loggers.values()) { if (l.matches(regex)) return true; } return false; }
@Override public boolean matches(Predicate<LogMessage> predicate) { for (TestLogger l : loggers.values()) { if (l.matches(predicate)) return true; } return false; }
/** * check if a regex exists in any of the loggers output. * matches using Pattern.DOTALL */ public boolean matches(String regex) { for (TestLogger l : loggers.values()) { if (l.matches(regex)) return true; } return false; }
/** * check if a regex exists in a particular log level output */ public boolean matches(LogLevel level, Pattern regex) { for (TestLogger l : loggers.values()) { if (l.matches(level, regex)) return true; } return false; }
/** * check if a regex exists in a particular log level output */ public boolean matches(LogLevel level, String regex) { for (TestLogger l : loggers.values()) { if (l.matches(level, regex)) return true; } return false; }
/** * check if a regex exists in a particular log level output */ public boolean matches(LogLevel level, Pattern regex) { for (TestLogger l : loggers.values()) { if (l.matches(level, regex)) return true; } return false; }
/** * check if a regex exists in any of the loggers output. * matches using Pattern.DOTALL */ public boolean matches(String regex) { for (TestLogger l : loggers.values()) { if (l.matches(regex)) return true; } return false; }
/** * check if a regex exists in any of the loggers output */ public boolean matches(Pattern regex) { for (TestLogger l : loggers.values()) { if (l.matches(regex)) return true; } return false; }
@Override public boolean matches(Predicate<LogMessage> predicate) { for (TestLogger l : loggers.values()) { if (l.matches(predicate)) return true; } return false; }
@Test public void testMultiLineMatching() { // enable info logging because only error is enabled by default TestLoggerFactory loggerFactory = Settings.instance().enable(LogLevel.InfoLevel).buildLogging(); TestLogger logger = loggerFactory.getLogger(this.getClass()); // do some multiline logging logger.info("Line1" + System.lineSeparator() + "Line2"); // this one does match multiline logging assert (loggerFactory.matches("Line1.*")); // using DOTALL we can match multiline Pattern regex = Pattern.compile("Line1.*", Pattern.DOTALL); Pattern regexNoMatch = Pattern.compile("NOMATCH"); assert (loggerFactory.matches(regex)); assert (!loggerFactory.matches(regexNoMatch)); assert (loggerFactory.matches(LogLevel.InfoLevel, regex)); assert (!loggerFactory.matches(LogLevel.ErrorLevel, regex)); assert (logger.matches(regex)); assert (!logger.matches(regexNoMatch)); assert (logger.matches(LogLevel.InfoLevel, regex)); assert (!logger.matches(LogLevel.ErrorLevel, regex)); }
public void testLoggingDefaults() { StringPrintStream console = StringPrintStream.newStream(); PrintStream old = System.err; System.setErr(console); try { TestLoggerFactory f = new TestLoggerFactory(); TestLogger log = f.getLogger("john"); log.error("anError"); log.info("someInfo"); assert (console.contains("anError")); assert (!console.contains("someInfo")); assert (log.contains("anError")); assert (!log.contains("someInfo")); assert (console.matches(".*anError.*")); assert (!console.matches(".*someInfo.*")); assert (log.matches(".*anError.*")); assert (!log.matches(".*someInfo.*")); } finally { System.setErr(old); } }
@Test public void testBasicDemo() throws Exception { TestLoggerFactory loggerFactory = new TestLoggerFactory(); Example sut = new Example(loggerFactory); sut.doLogging(); TestLogger logger = loggerFactory.getLogger(Example.class); assertTrue(logger.matches(".*Hello.*")); } }
/** * trivial demo of calling the logging functions on a logger and verifying what was logged. */ @Test public void demoConsoleLoggingUsingConstructor() throws Exception { TestLoggerFactory loggerFactory = Settings.instance() .enableAll() // necessary as by default only ErrorLevel is enabled .buildLogging(); TestLogger logger = loggerFactory.getLogger("MyLogger"); // expect to see some console logging logger.info("Hello World!"); // verification - the TestLogger instance will have collected all the enabled logging was sent to the loggers TestLogger testLogger = loggerFactory.getLogger("MyLogger"); Assert.assertTrue(testLogger.matches("Hello World!")); }
/** * trivial demo of calling the logging functions on a logger and verifying what was logged. */ @Test public void demoConsoleLoggingUsingBuilder() throws Exception { TestLoggerFactory loggerFactory = Settings.instance() .enableAll() // necessary as by default only ErrorLevel is enabled .buildLogging(); TestLogger logger = loggerFactory.getLogger("MyLogger"); // expect to see some console logging logger.info("Hello World!"); // verification - the TestLogger instance will have collected all the enabled logging was sent to the loggers TestLogger testLogger = loggerFactory.getLogger("MyLogger"); Assert.assertTrue(testLogger.matches("Hello World!")); }