2010-11-30 57 views
1

當一個應用程序啓動,而不是從控制檯,但從一個UI圖標,標準流去,我的意思是我可以例如看到這個日誌?普通的舊System.out指向「默認」?日誌流何去何從?

+0

所有日誌流導致日誌海。 – mob 2010-11-30 23:56:52

回答

0

正如安格斯所說,沒有控制檯,你不會得到輸出。

將應用程序作爲GUI啓動後,可以使用System.setOutSystem.out字段設置爲登錄到另一個目標(而不是TTY或控制檯)。這樣,你就可以通過傳遞寫入文件:

System.setOut(new PrintStream(path_to_a_file)); 

然而,這是不明智的。

您可以做的最好的事情是使用日誌框架(如log4j或SLF4J),並以這種方式執行日誌記錄(到文件,網絡主機或控制檯)。

+0

+1:如果你不控制它,你不知道它在哪裏結束。在我們的生產環境中,System.out被緩衝。因此,我們不能確定能夠看到印刷的最新事物(但),當試圖看到會發生什麼時,這是相當乏味的。那時我們決定修復日誌記錄配置,以便將所有文件發送到文件。 – 2010-12-01 00:16:01

0

如果應用程序沒有控制檯,那麼通常標準輸出不會去任何地方。