Allora la strada intrapresa può essere quella giusta, anche se magari prova a dare anche un occhio alle librerie di logging come per esempio Log4j che permette appunto di scegliere cosa e dove far stampare le informazioni di logging.
Il problema tuo è che hai prima di tutto "sbagliato" l'implementazione dell'estensione del PrintStream in particolare l'implementazione del costruttore, quello che ti serve a te è di ridifinire il costruttore che accetta come parametro non il file ma un OutputStream :
	codice:
	public class PrintStream2 extends java.io.PrintStream{
	public PrintStream2(OutputStream out){
		super(out);
	}
public void println(String s){
}
}
 
Nel metodo println dovrai appunto mettere la tua logica di stampa in modo da far stampare solamente quello che ti interessa.
	codice:
	//se la stringa da stampare non contiene "l'intestazione"
if(!s.contains("LA STRINGA CHE VOGLIO CERCARE"))
{
   //invoco l'implementazione del metodo della classe padre
   super.println(s);
}
 
Un esempio di utilizzo da fare come prima operazione allo startup dell'applicativo
	codice:
	PrintStream myStream = new MyPrintStream(System.out);
System.setOut(myStream);