Exception in Datei umleiten

mcbass

Mitglied
Hallo,

der Titel mag eine einfachen Lösungsansatz vermuten, via java.util.logging.Logger allerdings brauche ich einen Weg ohne diese Klasse.

Im Prinzip will ich ganz einfach eine abgefangene Exception in eine Datenbank ähnliche Struktur speichern, dazu brauche ich genau dass, was mit das hier in der console ausgeben würde, in einem String.

Code:
 try{
 //something 
 } catch (Exception e) {
 e.printStacktrace();
 }

Leider funtioniert es nicht wenn ich das ganze einfach als String ausgebe :

Code:
String msg = "Exception : " + e;

Da bekomme ich nur die eientliche Exception aber nicht den Stacktrace.

Jemand eine Idee ?

Danke.
 
Hallo,

du kannst z.B. die Standart-Fehler-Ausgabe (setErr) in eine Datei umleiten.
Code:
    	PrintStream out = new PrintStream(new FileOutputStream("c:\\test.txt"),true);
  	System.setErr(out);
 
Ja, genau das will ich ja nicht. Das wäre ja auch zu einfach. Ich brauche den String, weil ich damit noch was machen will.
 
Hallo!

Schau mal hier:
Code:
/*
 * Created on 14.02.2005
 */
package de.tutorials;

import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;

/**
 * @author TDarimont
 */
public class Main {

	public static void main(String[] args) {
		String str = null;
		try {
			throw new IOException();
		} catch (IOException e) {
			StringWriter sw = new StringWriter();
			PrintWriter pw = new PrintWriter(sw);
			e.printStackTrace(pw);
			str = sw.toString();
			pw.close();
		}
		System.out.println(str);
	}
}

Gruß Tom
 
Zurück