Как использовать FileAppenders log4j асинхронно? - PullRequest
7 голосов
/ 10 февраля 2011

Я работаю над торговым приложением с низкой задержкой. Мы хотели бы увеличить объем записи lof4j, которую мы записываем в файл, одновременно минимизируя влияние на наше сквозное время обработки.

Каков рекомендуемый способ сделать это? Я думаю, что FileAppender.append является синхронным, поэтому нам нужно сделать что-то более умное, чем это ....

Ответы [ 3 ]

8 голосов
/ 10 февраля 2011

Да, приложение работает синхронно. Вы хотите что-то вроде этого:

http://www.spartanjava.com/2009/asynchronous-logging-with-log4j/

3 голосов
/ 10 февраля 2011

имейте в виду, что AsyncAppender добавляет поток для каждого приложения, и что увеличение количества записей в журнале может означать значительное увеличение количества выполняемых конкатенаций строк, что часто означает значительный объем обработки / обработки / форматирования строк что может быть довольно дорого (в любом случае, относительно задержки, связанной с торговым приложением с низкой задержкой).

3 голосов
/ 10 февраля 2011

Если вам нужно войти из многопоточного приложения slf4j и его реализация logback - это гораздо лучший выбор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...