@Test public void testLogsWarningIfMultipleDeprecatedNamesUsed() throws Exception { String loggerName = ConfigUtilsInternal.class.getName(); ch.qos.logback.classic.Level logLevel = ch.qos.logback.classic.Level.WARN; Predicate<ILoggingEvent> filter = EventPredicates.containsMessages( "Using deprecated config value on MyBaseEntity", "should use 'superKey1', but used 'oldSuperKey1b' and ignored values present for other deprecated name(s) [oldSuperKey1b]"); LogWatcher watcher = new LogWatcher(loggerName, logLevel, filter); watcher.start(); try { testPrefersFirstDeprecatedNameIfMultiple(); watcher.assertHasEvent(); } finally { watcher.close(); } }
@Test public void testLogsWarningIfNonDeprecatedAndDeprecatedNamesUsed() throws Exception { String loggerName = ConfigUtilsInternal.class.getName(); ch.qos.logback.classic.Level logLevel = ch.qos.logback.classic.Level.WARN; Predicate<ILoggingEvent> filter = EventPredicates.containsMessages( "Ignoring deprecated config value(s) on MyBaseEntity", "because contains value for 'superKey1', other deprecated name(s) present were: [oldSuperKey1]"); LogWatcher watcher = new LogWatcher(loggerName, logLevel, filter); watcher.start(); try { testPrefersNonDeprecatedName(); watcher.assertHasEvent(); } finally { watcher.close(); } }
@Test public void testLogsIfDeprecatedNameUsed() throws Exception { // FIXME Which logger? String loggerName = ConfigUtilsInternal.class.getName(); ch.qos.logback.classic.Level logLevel = ch.qos.logback.classic.Level.WARN; Predicate<ILoggingEvent> filter = EventPredicates.containsMessages( "Using deprecated config value on MyBaseEntity", "should use 'superKey1', but used 'oldSuperKey1'"); LogWatcher watcher = new LogWatcher(loggerName, logLevel, filter); watcher.start(); try { testUsingDeprecatedName(); watcher.assertHasEvent(); } finally { watcher.close(); } }
public static Predicate<ILoggingEvent> containsMessage(final String expected) { return containsMessages(expected); }