Логированием пользуются почти все средние(большие) приложения, для сбора статистики, выявления ошибок и т.д. Оно играет одну из важных ролей, так как необходимо создать правильный формат сообщения, место хранения этого сообщения, и самое главное, что бы механизм логирования не влиял на производительность системы в целом. Так что же нового появилось во второй версии :

  1. В Log4j версии 1.x была проблема потери событий(сообщений) во время runtime пере-конфигурации. В Log4j эта проблема решена.

  2. Log4j 2.x имеет асинхронный механизм логирования следующего поколения, построенный на библиотеке LMAX Disruptor. Это позволяет в 10 раз увеличить пропускную способность в многопоточной среде.

  3. Log4j 2 использует систему плагинов, которые позволяет легко расширять фрэймворк новыми Appenders, Filters, Layouts, Lookups, и Pattern Converters не требующих никаких изменений самого Log4j.

  4. Появилась поддержка Message объектов. Пользователи могут легко создавать собственные сообщения, с кастомными слоями фильтрами и т.д.

  5. Проявился большой набор фильтров для Appender-ов для пред-обработки и пост-обработки сообщений.

  6. Layouts в Log4j 1.x и Logback возвращают String. В новой версии Layout всегда возвращает мисcив байтов, что даёт возможность использовать эти байты в Appenders а не только для записи в OutputStream.

  7. Syslog Appender поддерживает как TCP так и UDP.

  8. Log4j 2 использует преимущества concurrency(java 5). Это решило ряд проблем с предыдущей версией, но некоторые классы пока остались синхронизированными(synchronization).

  9. Появилась поддержка JMX для мониторинга и конфигурации.

  10. Так же появилась возможность сохранять логи в NoSQL хранилищах, таких как CouchDB и MongoDB.

Для тех кто переходит со старой версии на вторую следует помнить :

  • Поддержка java 6 и выше.

  • XML конфигурация была изменена и стала несовместимой с Log4j 1.x.

  • Конфигурация с помощью properties уже не поддерживается.

  • Появилась поддержка JSON или YAML конфигурирования.

  • Log4j 2 несовместима с Log4j 1.x.

Log4j 2 обещает много новых фишек и плюшек, осталось только попробовать их в действии :)

Для более подробной информации прошу на сайт Log4j 2.