Wie können wir die Ausgabe der Eclipse-Konsole in eine Datei umleiten? Ich kann:
Run Configuration
->Commons
->Select a file
.- Verwenden Sie
System.setOut(PrintStream)
undSystem.setErr(PrintStream)
.
Das Problem mit 1) ist, dass ich die Konsolenausgabe in verschiedene Dateien anstatt in eine Datei aufzeichnen muss.
Das Problem mit 2) ist, dass nur die Konsolenausgabe gespeichert wird, die durch System.out.println()
eine ausgelöste Ausnahme oder eine Stapelverfolgung generiert wurde . Andere Arten von Ausgaben, z. B. log4j-Warnungen usw., werden nicht erfasst.
Wie können wir die Konsolenausgabe programmgesteuert in verschiedene Dateien umleiten?
${NAME}
) einen zufälligen, aber eindeutigen Wert zuweist und dann dasselbe wie run ausführt . Verwenden Sie dann$NAME
als Wert für die Ausgabedatei. vielleicht?Antworten:
Gehen Sie zu Ausführen als und wählen Sie
Run Configurations
->Common
und in der Standardeingabe und -ausgabe können Sie auch eine Datei auswählen.quelle
echo $TTY
und geben Sie an, was es als Datei zurückgibt. Dann spiegelt das Terminal die Inhalte Ihrer Eclipse-Konsole wider.Sie können eine "Variable" im Ausgabedateinamen verwenden, zum Beispiel:
aktuelles Datum:
Sie können auch eine system_property oder eine env_var verwenden, um etwas Dynamisches anzugeben (entweder muss eines als Argument angegeben werden).
quelle
Sie können die Ausgabe von System.out programmgesteuert einstellen, indem Sie Folgendes tun:
Bearbeiten:
Aufgrund der Tatsache, dass diese Lösung auf a basiert
PrintStream
, können wir autoFlush aktivieren, aber gemäß den Dokumenten :Wenn also keine neue Zeile geschrieben wird, denken Sie daran, dies
System.out.flush()
manuell zu tun.(Danke Robert Tupelo-Schneck)
quelle
System.out.flush()
um zu vermeiden, dass möglicherweise eine Ausgabe fehlt.Um das Problem zu lösen, benutze ich die Variable $ {string_prompt}. Es wird ein Eingabedialog angezeigt, wenn die Anwendung ausgeführt wird. In diesem Dialogfeld kann ich Datum und Uhrzeit manuell einstellen.
Bewegen Sie den Cursor am Ende des Dateipfads.
Klicken Sie auf Variablen und wählen Sie string_prompt aus
Wählen Sie Übernehmen und Ausführen
quelle
Wir können dies tun, indem wir die Variable der Systemklasse folgendermaßen festlegen
System.setOut (neuer PrintStream (neuer FileOutputStream ("Pfad zur Ausgabedatei"))). Außerdem müssen Sie die Variable 'out' (System.out.close () oder System.out.flush ()) schließen oder leeren, damit Ihnen keine Ausgabe fehlt.
Quelle: http://xmodulo.com/how-to-save-console-output-to-file-in-eclipse.html
quelle