2015-10-06 73 views
1

我編寫了使用Java.util.logging的軟件。它運行在客戶端PC上。我正在使用FileHandler將某些條目記錄到文件中。該文件駐留在服務器上。如果服務器消失了一段時間,然後返回(或發生其他一些臨時錯誤),FileHandler會做什麼?當其FileHandler無法寫入文件時,Java.util.logging會做什麼?

我偶爾會看到其中的日誌記錄都未能獲得寫入文件的場景(數小時或數天)。我需要停止/啓動軟件才能重新啓動日誌記錄。我希望有一種方法可以從「臨時」文件問題中恢復,不管它是由類提供的還是需要編碼的。

注:我使用的Java 1.4.2(WINCE),因爲我使用的是專有的硬件專有的操作系​​統。就是這樣!

回答

1

配置FileHandler使用java.io.FileOutputStream寫日誌記錄。如果寫入失敗,則FileHandler將回退到使用assigned ErrorManager。默認的ErrorManager會將第一次失敗寫入控制檯,然後忽略所有錯誤。如果你想改變這種行爲,你必須安裝一個自定義的ErrorManager。

由於您使用的專有操作系統專有的硬件,你應該只是嘲笑了使用一個FileOutputStream或文件處理器測試案例和模擬錯誤條件。