Input/Output Alle Exceptions protokollieren

Dit_

Bekanntes Mitglied
Hallo!

Mehrere Benutzer bekommen ein Programm zum Testen (als *.jar Datei).
Zwar habe ich versucht "sauber" zu programmieren es kommt aber manchmal vor, dass es Exceptions gibt die nicht gefangen werden...

Wie kann ich das Programm so starten, dass alle "prints" in einer Datei gespeichert werden?

Irgendwie kann man doch in main Methode Das Programm in einem Prozess starten von dem man InputStream zum Loggen benutzen kann... weiss aber nicht ob /wie das geht...

Hat jemand nen Tipp für mich? 😳

Danke schon mal!
 
Es kann einfach auf der Shell gepiped werden - Windows (cmd) unterstützt dis AFAIK auch.
[c]java -jar deinJar.jar > out.txt 2> err.txt[/c]

Natürlich kannst du auch [c]System.setOut()[/c] und [c]setErr()[/c] aufrufen.
 
Für die Shell und Bash funktioniert es. In der Shell des OSX wird es sicher auch funktionieren. Nach kurzem googlen bin ich der Meinung, dass es unter Windoof ebenfalls funktioniert ([c]>[/c] wusste ich, aber [c]2>[/c] nicht). Hättest du aber auch selbst suchen oder ausprobieren können 😉
 
geht es nicht einbischen Benutzerfreundlicher? Ich meine ohne dass der Benutzer das Programm über "cmd" starten muss, sondern ganz normal per doppelklick?
 
Der Benutzer muss halt ein Script mit dem Inhalt
Code:
java -jar deinJar.jar > out.txt 2> err.txt
doppelklicken ...
 
Genau, es muss lediglich schnell eine bat, sh oder was-auch-immer Datei angelegt werden, welche an Stelle des Jars doppelklickt wird. Wie Andi_CH es sagt.
Die Alternative in Java dazu habe ich auch bereits gepostet. Die Streams umleiten.
 
Noch eine Frage wie kann ich verhindern dass die dateien neuangelegt werden. Es wäre besser wenn die alte Datei fortgesetzt wird
 

Zurück
Oben