import java.util.logging.Handler;
import java.util.logging.Level;
import java.util.logging.LogRecord;
import java.util.logging.Logger;
import java.util.logging.StreamHandler;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String args[]) {
Logger log = Logger.getAnonymousLogger();
setLoggerhandler(log);
log.finest(new Exception().toString());
}
public static void setLoggerhandler(Logger logger) {
Handler handler = new ExceptionHandler();
logger.addHandler(handler);
logger.setLevel(Level.ALL);
}
}
class ExceptionHandler extends StreamHandler {
public void publish(LogRecord record) {
String msg = record.getMessage();
int exceptionIndex = msg.indexOf("Exception");
if (exceptionIndex > -1) {
Pattern pattern = Pattern.compile("(.*Exception.*)");
Matcher matcher = pattern.matcher(msg);
if (matcher != null && matcher.find()) {
String err = "EXCEPTION FOUND " + matcher.group(1);
System.out.println(err);
}
}
}
}
|