我在低延遲交易應用程序上工作。我們希望增加寫入文件的lof4j日誌記錄的數量,同時最大限度地減少對端到端處理時間的影響。如何異步使用log4j的FileAppenders?
這樣做的建議方法是什麼?我認爲FileAppender.append是同步的,所以我們需要做一些更聰明一點....
我在低延遲交易應用程序上工作。我們希望增加寫入文件的lof4j日誌記錄的數量,同時最大限度地減少對端到端處理時間的影響。如何異步使用log4j的FileAppenders?
這樣做的建議方法是什麼?我認爲FileAppender.append是同步的,所以我們需要做一些更聰明一點....
是的,appender是同步的。你想是這樣的:
http://www.spartanjava.com/2009/asynchronous-logging-with-log4j/
此鏈接已死亡。 – Daniel
記住,AsyncAppender
每附加器&增加了一個線程,增加登錄的,你做的量可能意味着的字符串連接回事這往往意味着量大幅增加大量的字符串處理/掃描/格式化可能非常昂貴(相對於低延遲交易應用中的延遲)。
「你以爲」?你是否證實它實際上是一個瓶頸?這應該很容易做到。 –
提示:檢查[JavaDoc](http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/FileAppender.html#getBufferedIO())以獲取BufferedIO選項。 –