有多種方式可以在多線程時將整個控制檯輸出保存到文件中嗎?我正在處理5個線程。我有這個想法,我可以在運行方法中放置printstream。使用多線程控制檯輸出到文件
例如:這裏
public void run() {
try{
PrintStream out = new PrintStream(file);
stopExecute stop = new stopExecute();
Thread t = new Thread(stop);
Scanner in = new Scanner(System.in);
t.start();
while (!in.hasNextLine())
{
classThatUsingMultipleThrads();
System.out.println("Finished");
anotherClassThatUsingThreads();
System.out.println("Finished");
}
System.out.prinln("User stopped the execution");
stop.keepRunning = false;
System.setOut(out);
}
catch(IOException e){System.out.println(e);}
問題是,它的唯一可取「用戶採空執行」在while循環,一切都不會被保存輸出。或者來自其他類的輸出流。
我試圖把
System.setOut(out);
在while循環
,但並沒有幫助。
編輯:拼寫校正
「Finished」,而不是「Finnished」:)哦。並「停止」而不是「停止」。 –
會使用像Log4J這樣的日誌框架來幫助你的情況嗎? –
@ C-Otto感謝您的糾正,我每天都在學習新事物:) – Micropop