Bagaimana kita bisa mengarahkan output konsol gerhana ke file? Saya bisa:
Run Configuration
->Commons
->Select a file
.- Gunakan
System.setOut(PrintStream)
danSystem.setErr(PrintStream)
.
Masalah dengan 1) adalah saya harus merekam output konsol ke file yang berbeda, bukan satu file.
Masalah dengan 2) adalah ia hanya menyimpan output konsol yang dihasilkan oleh System.out.println()
atau stacktrace dari pengecualian yang dilemparkan. Itu tidak menangkap jenis output lain misalnya peringatan log4j dll.
Bagaimana kita bisa mengarahkan output konsol ke file yang berbeda secara terprogram?
${NAME}
), kemudian akan melakukan hal yang sama seperti menjalankan. Kemudian gunakan$NAME
sebagai nilai untuk file output. mungkin?Jawaban:
Pergi untuk menjalankan sebagai dan pilih
Run Configurations
->Common
dan di Input dan Output Standar Anda dapat memilih File juga.sumber
echo $TTY
dan tentukan apa pun yang dikembalikan sebagai file Anda. Kemudian terminal akan mencerminkan apa yang ada di konsol Eclipse Anda.Anda bisa menggunakan "variabel" di dalam nama file keluaran, misalnya:
tanggal sekarang:
Atau Anda juga dapat menggunakan system_property atau env_var untuk menentukan sesuatu yang dinamis (salah satu harus ditentukan sebagai argumen)
sumber
Anda dapat mengatur output System.out secara pemrograman dengan melakukan:
Edit:
Karena kenyataan bahwa solusi ini didasarkan pada a
PrintStream
, kita dapat mengaktifkan autoFlush, tetapi menurut dokumen :Jadi, jika baris baru tidak ditulis, ingatlah untuk
System.out.flush()
secara manual.(Terima kasih Robert Tupelo-Schneck)
sumber
System.out.flush()
untuk menghindari kemungkinan kehilangan beberapa output.Untuk mengatasi masalah ini saya menggunakan variabel $ {string_prompt}. Ini menunjukkan dialog input ketika aplikasi berjalan. Saya dapat mengatur tanggal / waktu secara manual pada dialog itu.
Pindahkan kursor di akhir jalur file.
Klik variabel dan pilih string_prompt
Pilih Terapkan dan Jalankan
sumber
Kita bisa melakukan ini dengan menetapkan variabel kelas Sistem dengan cara berikut
System.setOut (PrintStream baru (FileOutputStream baru ("Path ke file output"))). Anda juga perlu menutup atau menyapu variabel 'out' (System.out.close () atau System.out.flush ()) sehingga Anda tidak akan melewatkan beberapa output.
Sumber: http://xmodulo.com/how-to-save-console-output-to-file-in-eclipse.html
sumber