# Java-Konsole auslesen?



## zilti (7. Dez 2007)

Hallo,
Ist es möglich, die Ausgaben, die in die Java-Konsole ausgegeben wurden, wieder einzulesen? Oder wird das in eine temporäre Datei gespeichert?
Wenn ja, wie? Google und auch die Forensuche hat leider nichts ausgespuckt.


----------



## maki (7. Dez 2007)

Wozu?

Hört sich an, als ob es um's Logging geht...


----------



## Timoo (7. Dez 2007)

Hi,

also mit log4j könntest du einen Logger aktivieren, der alle Konsolenausgaben (ConsoleAppender) z.B. in eine Datei schreibt. Diese brauchst du dann nur wieder einzulesen. Dann hast du alle Konsolenausgaben.


----------



## Murray (7. Dez 2007)

Die Konsolenausgabe kann man auch mit System#setOut und Syste#setErr umlenken - das muss man natürlich rechtzeitig machen (z.B. gleich beim Starten).


----------



## HoaX (7. Dez 2007)

Timoo hat gesagt.:
			
		

> Hi,
> 
> also mit log4j könntest du einen Logger aktivieren, der alle Konsolenausgaben (ConsoleAppender) z.B. in eine Datei schreibt. Diese brauchst du dann nur wieder einzulesen. Dann hast du alle Konsolenausgaben.



umgedreht. wenn du einen ConsoleAppender verwendest landet das üder den logger geloggte auf der konsole. wenn du eine logdatei willst nimmst du einen (DailyRolling)FileAppender usw.


----------



## Timoo (10. Dez 2007)

> wenn du einen ConsoleAppender verwendest landet das üder den logger geloggte auf der konsole.



Oh allerdings, das hab ich einfach mal vertauscht --> Sorry!


----------



## zilti (23. Dez 2007)

Murray hat gesagt.:
			
		

> Die Konsolenausgabe kann man auch mit System#setOut und Syste#setErr umlenken - das muss man natürlich rechtzeitig machen (z.B. gleich beim Starten).


Gibts da ein Beispiel dazu? Kann man das auch in eine Datei umleiten?


----------



## JPKI (23. Dez 2007)

Schreib doch eine Subklasse von PrintStream, die alles zu schreibende auf die Konsole und gleichzeitig in eine Datei schreibt.


----------



## Murray (23. Dez 2007)

Mit diesem Code

```
System.setOut( new java.io.PrintStream( new java.io.FileOutputStream( "sysout.txt")));
```
landet alles, was nach Syste,out geschrieben wird, nicht mehr in der Konsole, sondern in einer Datei namens sysout.txt.


----------



## zilti (23. Dez 2007)

Danke!


----------



## JPKI (23. Dez 2007)

Mag sein, dafür landet aber nix mehr auf der Konsole.


----------

