private static void checkSuspectFile(File suspectFile, StringBuilder suspectStringCollector) {
    final List<Pattern> expectedStrings = ExpectedStrings.create("dunit");
    final LogConsumer logConsumer = new LogConsumer(true, expectedStrings,
        suspectFile.getName(), 5);

    BufferedReader buffReader;
    FileChannel fileChannel;
    try {
      fileChannel = new FileOutputStream(suspectFile, true).getChannel();
      buffReader = new BufferedReader(new FileReader(suspectFile));
    } catch (FileNotFoundException e) {
      throw new RuntimeException(e);
    }

    try {
      String line;
      try {
        while ((line = buffReader.readLine()) != null) {
          final String suspectString = logConsumer.consume(line);
          if (suspectString != null) {
            suspectStringCollector.append(suspectString);
          }
        }
      } catch (IOException e) {
        System.err.println("Could not read the suspect string output file: " + e);
      }

      try {
        fileChannel.truncate(0);
      } catch (IOException e) {
        System.err.println("Could not truncate the suspect string output file: " + e);
      }

    } finally {
      try {
        buffReader.close();
        fileChannel.close();
      } catch (IOException e) {
        System.err.println("Could not close the suspect string output file: " + e);
      }
    }
  }
Add an appender to Log4j which sends all INFO+ messages to a separate file which will be used
later to scan for suspect strings. The pattern of the messages conforms to the original log
format so that hydra will be able to parse them.
geode-dunit/src/main/java/org/apache/geode/test/dunit/internal/DUnitLauncher.java