code: public boolean evaluate(final LoggingEvent event, Map matches) {
      //no need to figure out what part of the string matched, just set the entire string as a match
      Object input = RESOLVER.getValue(field, event);
      if((input != null) && (pattern != null)) {
          if (matcher == null) {
              matcher = pattern.matcher(input.toString());
          } else {
              matcher.reset(input.toString());
          }
          boolean result = matcher.matches();
          if (result && matches != null) {
              Set entries = (Set) matches.get(field.toUpperCase());
              if (entries == null) {
                  entries = new HashSet();
                  matches.put(field.toUpperCase(), entries);
              }
              entries.add(input);
          }
          return result;
      }
      return false;
    }
docs: {@inheritDoc}