@Override public boolean hasChanged(Settings current, Settings previous) { return current .filter(loggerPredicate) .getAsMap() .equals(previous.filter(loggerPredicate).getAsMap()) == false; }
@Override public Settings getValue(Settings current, Settings previous) { Settings.Builder builder = Settings.builder(); builder.put(current.filter(loggerPredicate).getAsMap()); for (String key : previous.getAsMap().keySet()) { if (loggerPredicate.test(key) && builder.internalMap().containsKey(key) == false) { if (ESLoggerFactory.LOG_LEVEL_SETTING.getConcreteSetting(key).exists(settings) == false) { builder.putNull(key); } else { builder.put( key, ESLoggerFactory.LOG_LEVEL_SETTING.getConcreteSetting(key).get(settings)); } } } return builder.build(); }