2011-07-22 59 views
0

有沒有人知道apache log4j如何處理流?Log4j - 日誌文件

如果它打開並關閉每一行的日誌文件,或者它只是讓流和沖洗它?

回答

1

它不會打開和關閉每行的日誌文件(這會導致太多開銷)。輸出可以被緩衝(檢查documentation)。你可以創建一個自定義的appender來打開文件來追加每一行,但是你想完成什麼?

+0

其實沒有我只想知道它對應用程序的要求如何。 – Smolda

+0

好的。我不會擔心你的應用程序的log4j性能開銷太大。在生產上,您只能記錄錯誤。有時你應該考慮一下創建日誌消息(連接和序列化對象)。但是隻有在你測量了它之後才能優化這些東西,並發現它是一個瓶頸(過早優化是所有邪惡的根源;)) – ivy

+0

謝謝..非常有用:) – Smolda

2

有一件事情需要記住。如果log4j保持日誌文件處於打開狀態,則日誌翻轉失敗,因爲其文件句柄仍指向舊的日誌文件。打開,寫入和關閉意味着log4j會正確獲取新日誌文件的文件句柄。