2011-02-10 25 views
7

我在低延遲交易應用程序上工作。我們希望增加寫入文件的lof4j日誌記錄的數量,同時最大限度地減少對端到端處理時間的影響。如何異步使用log4j的FileAppenders?

這樣做的建議方法是什麼?我認爲FileAppender.append是同步的,所以我們需要做一些更聰明一點....

+1

「你以爲」?你是否證實它實際上是一個瓶頸?這應該很容易做到。 –

+2

提示:檢查[JavaDoc](http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/FileAppender.html#getBufferedIO())以獲取BufferedIO選項。 –

回答

3

如果需要從多線程應用程序slf4j及其實施logback是更好的選擇登錄。

+0

是否可以讓你這麼說的「審慎」標誌? –

3

記住,AsyncAppender每附加器&增加了一個線程,增加登錄的,你做的量可能意味着的字符串連接回事這往往意味着量大幅增加大量的字符串處理/掃描/格式化可能非常昂貴(相對於低延遲交易應用中的延遲)。