Ausgabe über Konsole und Logfile gleichzeitig

Status
Nicht offen für weitere Antworten.

Floriel

Mitglied
Ich suche nen möglichst einfachen Weg die gesammte Komandozeilenausgabe paralell dazu in ein logfile zu speichern.
Der einfachste (und bisher einzigste) Weg den ich kenne ist der Zusatzparameter "> logfile" (also "java MeinProg > logfile") aber dann fällt ja jegliche Bildschirmausgabe weg. Da ich die aber ebenfalls haben möchte brauch ich ne andere Lösung.
Kann mir einer helfen?
 

Leroy42

Top Contributor
Der einfachste Weg ist dein Programm an das "T-Programm" zu koppeln, also
Code:
tee logfile `java MeinProg`

Du kannst auch das System.out auf einen eigenen Printer umsetzten,
der alle Ausgaben sowohl auf die Konsole als auch in deine Datei
schreibt. Dazu mußt du entweder dein Programm ändern oder es
von einem 2. Programm mit MainProg.main(...) aufrufen, daß
diese Umsetzung vornimmt.
 

AlArenal

Top Contributor
@Leroy42:

Dir ist aber schon aufgefallen, dass die meisten Leute nicht auf Unix-artigen Rechnern arbeiten, oder? ;)
 

Leroy42

Top Contributor
:shock: Was? Das gibts? :shock:

Irgendwie kam mir dieses Kästchen mit der Aufschrift "Start" unten links schon
länger etwas merkwürdig vor ???:L

Zur Ehrenrettung:
1) Hat Floriel nicht geschrieben, was für'n BS er nutzt.
2) Wüßte ich nicht wie das in WinDoof funktioniert.
3) Habe ich im 2. Teil den Vorschlag eines selbstgeschriebenen
Java-Programms gemacht, das er dann allgemein einsetzen
kann.
 

Illuvatar

Top Contributor
Oder du schreibst dir einen eigenen PrintWriter, dem du das System.out erst gibst, damit er sich das speichern kann, danach setzt du System.out = dein Prinwriterobjekt. Und in dem schreibst du dann alles einmal in System.out und einmal in ne Datei.
 

Floriel

Mitglied
Leroy42 hat gesagt.:
...Habe ich im 2. Teil den Vorschlag eines selbstgeschriebenen
Java-Programms gemacht, das er dann allgemein einsetzen
kann.
Für den ersten Versuch schon mal ein Dankeschön :)
Aber genau den 2. Vorschlag dürftest du für mich noch mal genauer erklären, was das mit dem eigenen Printer auf sich hat.
 

Floriel

Mitglied
Also wenn ich das bisher richtig verstanden habe, muss ich entweder System.out (und System.err, das soll auch ins logfile) durch was ersetzen, das dann sowohl System.out als auch das logfile schreiben ausführt, oder ich schreibe ein Zweites Prog außenrum, dass die Ausgaben eigenständig handhabt und praktisch das gleiche macht?
 

Leroy42

Top Contributor
Ganz genau!

Die zweite Variante hätte den Vorteil, daß du den Quelltext deines MeinProg.java nicht
ändern müßtest und noch nichtmal den Quelltext des umzuleitenden Programms
braucht.

Dann klappts auch mit dem NachbarProg :cool:
 

Leroy42

Top Contributor
Es muß ein PrintStream sein, denn System.out ist ja auch einer.

Hier mal ein Beispielcode
Code:
import java.io.*;

public class Tee extends PrintStream {
	PrintStream konsole = System.out;

	public Tee(String logfileName) throws Exception {
		super(new FileOutputStream(logfileName));
	}

	public void write(byte[] buf, int off, int len) {
		konsole.write(buf, off, len);
		super.write(buf, off, len);
	}

	public static void main(String[] args) throws Exception {
		if (args.length < 2)
			System.out.println("usage: java Tee <logfile> <javaProgramm>");
		else {
			PrintStream tee = new Tee(args[0]);
			System.setOut(tee);
			System.out.print(6*7);
			System.out.println(" und weg...");
			// Hier mittels getClassByName die main-Methode des Programm args[1] starten
		}
	}
}
 

Sky

Top Contributor
Du kannst diesen PrintStream natürlich auch in dein Projekt aufnehmen und dort den Std-Out. ändern...
 

Floriel

Mitglied
Sky hat gesagt.:
Du kannst diesen PrintStream natürlich auch in dein Projekt aufnehmen und dort den Std-Out. ändern...
Hm, dann versuch ich das mal, wie das mit getClassByName funktioniet (kann die Funktion nirgends finden) raff ich nämlich nicht
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Best Practice Ausgabe über direkte Ausgabe oder try-catch? Java Basics - Anfänger-Themen 13
E Frage über Speichern und Ausgabe Java Basics - Anfänger-Themen 7
D Ausgabe über JLabel Java Basics - Anfänger-Themen 12
M Panel erstellen, welches ein Control erhält. Ausgabe soll über einen Stream erfolgen. Java Basics - Anfänger-Themen 0
A Problem mit Ausgabe einer Liste über einen Client Java Basics - Anfänger-Themen 5
G Ausgabe in Datei - über Variable gesteuert Java Basics - Anfänger-Themen 7
M Ausgabe einer ArrayList ensteht nur als Hashcode, nicht als Objekt Java Basics - Anfänger-Themen 16
M Methode zielnah zeigt das gewünschte Ausgabe nicht an Java Basics - Anfänger-Themen 3
M Ausgabe beim Overloading Java Basics - Anfänger-Themen 3
H Frage zur Ausgabe Java Basics - Anfänger-Themen 4
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
S Einfach-Verkettete-Listen Ausgabe zeigt nur 1. und letzte instanz Java Basics - Anfänger-Themen 2
T float soll durch schleife die größte mögliche Zahl herausfinden, Ausgabe ist aber "Infinity" Java Basics - Anfänger-Themen 1
B Binärzahlen auflisten, falsche Ausgabe? Java Basics - Anfänger-Themen 1
M Java Ausgabe der höchsten Zahl Java Basics - Anfänger-Themen 14
M Erste Schritte While Schleife / Ausgabe von buchstabe & ASCII Wert Java Basics - Anfänger-Themen 4
nelsonmandela Problem bei Ausgabe einer Switch - Case Funktion Java Basics - Anfänger-Themen 5
W Streams in Java und was bedeutet meine Konsolen-Ausgabe? Java Basics - Anfänger-Themen 4
B Automatisierte Ausgabe (Schleife, If-Abfrage?) Java Basics - Anfänger-Themen 24
C 2D Array Ausgabe mit for-Schleife i,j Java Basics - Anfänger-Themen 4
B Deadlock verstehen der Ausgabe! Java Basics - Anfänger-Themen 12
Lion.King Ausgabe mit Eigenschaften Java Basics - Anfänger-Themen 4
D Java Pattern mit X Ausgabe Stern Java Basics - Anfänger-Themen 4
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 0
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 5
Xaver code Tastatur ausgabe Java Basics - Anfänger-Themen 4
R Anfänger: Ausgabe kommt minus raus? Java Basics - Anfänger-Themen 6
K Leerzeile in Konsolen-Ausgabe Java Basics - Anfänger-Themen 4
K Zweite Ausgabe von vererbten Klassen Java Basics - Anfänger-Themen 3
Q return Ausgabe Java Basics - Anfänger-Themen 4
C Java Arrays - Ausgabe in Methode Java Basics - Anfänger-Themen 12
S Ausgabe des Variablenwerts Java Basics - Anfänger-Themen 10
I Ausgabe nicht nur senkrecht sondern auch waagerecht. Java Basics - Anfänger-Themen 2
paulen1 Methoden Unerwünschte Ausgabe bei System.out.print in For-Schleife Java Basics - Anfänger-Themen 8
C Ausgabe boolean return ((n==9)||(n==0)); Java Basics - Anfänger-Themen 13
F Double Ausgabe nicht wissenschaftlich Java Basics - Anfänger-Themen 16
danieldemetry Java - Graph Komponenten - Ausgabe Java Basics - Anfänger-Themen 0
S Fragen zu Ausgabe double und float Java Basics - Anfänger-Themen 3
B Ausgabe in TextArea funktioniert nicht Java Basics - Anfänger-Themen 2
D BigDecimal Ausgabe sehr lang. Java Basics - Anfänger-Themen 2
J String Ausgabe Java Basics - Anfänger-Themen 2
TimoN11 IntelliJ , Ausgabe von einem Quellcode in Eingabe eines Quellcodes Java Basics - Anfänger-Themen 1
Kalibru Problem bei Ausgabe von Objekt Java Basics - Anfänger-Themen 1
KogoroMori21 Array-Ausgabe Java Basics - Anfänger-Themen 6
JaVaN0oB Wörterraten - Falsche Ausgabe, String/Chars vergleichen Java Basics - Anfänger-Themen 2
E Ausgabe überschreiben Java Basics - Anfänger-Themen 15
D Ausgabe von Array Java Basics - Anfänger-Themen 2
U Ausgabe Java Basics - Anfänger-Themen 4
J Buchstabenhäufigkeit mit Array und Ausgabe des häufigsten Buchstaben Java Basics - Anfänger-Themen 25
V Multiplikationstafel - Ausgabe Java Basics - Anfänger-Themen 4
L Warum ist die Ausgabe anders als das was im Bezeichner steht? Java Basics - Anfänger-Themen 4
M In gleicher zeile hinter ausgabe noch etwas ausgeben Java Basics - Anfänger-Themen 1
newcomerJava Nach doppelter Zahl eine Ausgabe Java Basics - Anfänger-Themen 10
H Falsche Ausgabe Java Basics - Anfänger-Themen 2
P Klassenübergreifende Ausgabe mittels "getter" nicht möglich Java Basics - Anfänger-Themen 21
R Call-by-Value, Call-by-Reference, Call-by-Name Ausgabe Java Basics - Anfänger-Themen 1
JavaClap "Bruchrechner" liefert Fehler/keine Ausgabe bei Addition und Subtraktion Java Basics - Anfänger-Themen 0
D Warum erfolgt folgende Ausgabe und warum? Java Basics - Anfänger-Themen 4
C Ausgabe in der Konsole Java Basics - Anfänger-Themen 11
M Problem bei Ausgabe Java Basics - Anfänger-Themen 7
C Konvertierung des int typs in den double typ für die Ausgabe mit Nachkommastellen Java Basics - Anfänger-Themen 4
A Ausgabe mit boolean Java Basics - Anfänger-Themen 3
K Probleme bei der Ausgabe - komme nicht weiter :/ Java Basics - Anfänger-Themen 15
G Problem bei der Ausgabe einer Main Claase Java Basics - Anfänger-Themen 7
Y Methode + Parameters + Ein und Ausgabe Java Basics - Anfänger-Themen 1
K Methodenaufruf /-ausgabe Java Basics - Anfänger-Themen 5
A Wiederholte Ausgabe vermeiden Java Basics - Anfänger-Themen 16
B Collections Objektreferenz-ID in der Ausgabe (Comparator Interface) Java Basics - Anfänger-Themen 2
M Wie analysiert JSON eine toString-Ausgabe ? Java Basics - Anfänger-Themen 1
T Vererbung Verschiedene Fahrzeugtypen mit unterschiedlicher Ausgabe Java Basics - Anfänger-Themen 17
T Ausgabe einer for Schleife Java Basics - Anfänger-Themen 2
S Elemente eines Arrays bei Ausgabe auslassen Java Basics - Anfänger-Themen 2
M Ausgabe einer Liste welche mehrere Stacks enthält Java Basics - Anfänger-Themen 3
T Text-Ausgabe für Textadventure - Organisation Java Basics - Anfänger-Themen 5
G Unterklassen (Klasse für Ausgabe) Java Basics - Anfänger-Themen 4
N Eingabe des Users direkt hinter die Ausgabe Java Basics - Anfänger-Themen 3
J Methode zur Ausgabe eines Dreiecks aus Sternen schreiben? Java Basics - Anfänger-Themen 2
ZH1896ZH Wieso diese Ausgabe?? Java Basics - Anfänger-Themen 10
J Fragen zum Code aus dem Buch "Schrödinger programmiert Java 2.te Ausgabe" Java Basics - Anfänger-Themen 6
B Keine Ausgabe .. Woran liegt das? Ich komme nicht weiter Java Basics - Anfänger-Themen 14
K Rechtsbündige Ausgabe von Zahlen Java Basics - Anfänger-Themen 6
V Erste Schritte for-Schleife; Ausgabe soll alle 5 Sekunden erfolgen. Java Basics - Anfänger-Themen 4
X Threads Zwei Threads, aber doppelte Ausgabe verhindern (synchronized) Java Basics - Anfänger-Themen 54
J Ausgabe Gesamtpreis Java Basics - Anfänger-Themen 39
E Variablen in formatierter Ausgabe Java Basics - Anfänger-Themen 15
B HQL / Hibernate, GroupBy und Ausgabe als Double Java Basics - Anfänger-Themen 1
J StrinBuffer in der Ausgabe Java Basics - Anfänger-Themen 4
H ausgabe? Java Basics - Anfänger-Themen 32
B Ausgabe Zahlenreihe Horizontal Java Basics - Anfänger-Themen 3
V Neue Ausgabe von toString nach Methodenaufruf Java Basics - Anfänger-Themen 9
N Wochentagberechner Ausgabe funktioniert nicht Java Basics - Anfänger-Themen 7
K Array Ausgabe Java Basics - Anfänger-Themen 2
L Datentypen Ausgabe von eigenem Datentypen Java Basics - Anfänger-Themen 2
C 1x1 Ausgabe auf dem Bildschirm Java Basics - Anfänger-Themen 3
L Fehler im Programm bei Ausgabe Java Basics - Anfänger-Themen 21
J Doppelte Ausgabe erzeugen Iterator Java Basics - Anfänger-Themen 6
F Warum ist die Ausgabe hier 1? Java Basics - Anfänger-Themen 4
Bun17 Keine Ausgabe in der Konsole Java Basics - Anfänger-Themen 2
H Ausgabe Java Basics - Anfänger-Themen 6
U Ausgabe von Dateiinhalt während Programmnutzung fehlerhaft Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben