/*
* Copyright 2004-2014 H2 Group. Multiple-Licensed under the MPL 2.0,
* and the EPL 1.0 (http://h2database.com/html/license.html).
* Initial Developer: H2 Group
*/
package org.h2.dev.util;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.LineNumberReader;
import java.io.PrintWriter;
/**
* Filter full thread dumps from a log file.
*/
public class ThreadDumpFilter {
/**
* Usage: java ThreadDumpFilter <log.txt >threadDump.txt
*
* @param a the file name
*/
public static void main(String... a) throws Exception {
String fileName = a[0];
LineNumberReader in = new LineNumberReader(
new BufferedReader(new FileReader(fileName)));
PrintWriter writer = new PrintWriter(new BufferedWriter(
new FileWriter(fileName + ".filtered.txt")));
for (String s; (s = in.readLine()) != null;) {
if (s.startsWith("Full thread")) {
do {
writer.println(s);
s = in.readLine();
} while(s != null && (s.length() == 0 || " \t\"".indexOf(s.charAt(0)) >= 0));
}
}
writer.close();
in.close();
}
}