2016-03-23 2 views
4

Я бы хотел заменить мой текущий регистратор, который регистрирует собственный код C++, с одним из логгеров, смоделированных после log4j. Я хочу, чтобы регистратор создал журнал, который отформатирован как формат log4j, чтобы его можно было просмотреть с помощью средства просмотра Log4View.log4j основанные регистраторы: log4cpp vs log4cplus vs log4cxx

Я ищу информацию, такую ​​как плюсы/минусы каждого и различия между ними.

Т.е. любые известные утечки памяти? любое тестирование производительности, о котором можно сообщить? любые известные проблемы, которые следует принимать во внимание?

+0

Вы должны попробовать эти рамки журналов и решить, что использовать в соответствии с вашими потребностями. Другими словами, это вопрос, основанный на мнениях, который не соответствует теме. –

+0

Почему вы не можете исследовать такие вещи, как поддерживающие приложения, многопоточную поддержку и лицензирование, самостоятельно прочитав свою документацию? –

ответ

20

Из моего первоначального исследования я обнаружил следующее:

log4cxx: https://logging.apache.org/log4cxx/

  • в настоящее время проходит Инкубация - нет официального релиза
  • исправления
  • обновление/ошибка один раз в прошлом 12 лет, последний выпуск 2008 года
  • Пользователь может выбрать различные LogLevels - TRACE, DEBUG, INFO, WARN, ERROR и FATAL
  • иерархических Лесорубы
  • Можно войти в асинхронном
  • поддерживает несколько appenders
  • пользователя может выбрать, чтобы включить или отключить регистратор
  • журнала может быть отправлен в различные и множественных целях выходных выбран
  • пользователя выходные форматы
  • хорошо задокументирован
  • имеет лицензию на получение лицензии Apache, лицензию с открытым исходным кодом, сертифицированную с открытым исходным кодом Ini tiative
  • требует Apache Portable Runtime (APR)

log4cplus: https://sourceforge.net/projects/log4cplus/

  • регулярные обновления/исправления ошибок - последний релиз был февраль 2017
  • пользователь может выбрать выбрать разные LogLevels - TRACE, DEBUG, INFO, WARN, ERROR и FATAL
  • иерархические регистраторы
  • поддерживает многопоточные приложения, но это не безопасно использовать из обработчиков асинхронных сигналов
  • пользовательский формат выбран выход: SimpleLayout, PatternLayout, TTCCLayout
  • поддерживает несколько регистраторов
  • не хорошо документированы
  • распространяется под лицензией Лицензия Apache V2.0

log4cpp: https://sourceforge.net/projects/log4cpp/

  • исправления ошибок примерно раз в год, последний выпуск был август 2016
  • поддерживает многопоточные приложения
  • нет четкой документации не существует
  • лицензируется по лицензии GNU Lesser General Public License (LGPL) с версии 0.2.1, до того, как они были выпущены под лицензией GPL ,
+0

log4cplus - 2016-01-16 - последний выпуск AFAIK. Посмотрите здесь https://sourceforge.net/projects/log4cplus/files/log4cplus-stable/ Разработка на данный момент на GitHub https://github.com/log4cplus/log4cplus –

+1

Я думаю, что самым важным фактором для использования log4cxx (или нет) является что для него требуется Apache Portable Runtime (APR), возможно, именно по этой причине его последняя версия была в 2008 году (версия 0.10.0). К настоящему времени другие структуры, похоже, активно развиваются (2017). – Wolf

+1

@Wolf, спасибо за комментарий, я проверил последние выпуски для Log4cxx, Log4cplus и Log4cpp и соответствующим образом обновил информацию. Если бы это было полезно, пожалуйста, +1 :) –

Смежные вопросы