Подтвердить что ты не робот

Предложения в области ведения журналов на С++

Я ищу фреймворк С++ со следующими функциями:

  • журналы имеют серьезность (информация, предупреждение, ошибка, критическая и т.д.).
  • журналы отмечены именем модуля
  • framework имеет интерфейс (или CLI) для настройки того, какие модули мы будем регистрировать в файл, и минимальную степень серьезности, необходимую для записи журнала в файл.
  • имеет средство просмотра, которое позволяет мне искать по модулю, строгости, имени модуля, имени ошибки и т.д.
4b9b3361

Ответ 1

Не уверен в конфигурации из пользовательского интерфейса или CLI. Я использовал оба эти фреймворка регистрации в какой-то момент.

https://sourceforge.net/projects/log4cplus/
https://logging.apache.org/log4cxx/index.html

Было бы нелегко вести ведение журнала на основе файла конфигурации, который можно было бы редактировать вручную или через быстрое и грязное приложение GUI или CLI. Может быть, немного сложнее настроить их динамически, но не так уж плохо.

Update:

Похоже, что предлагаемый Boost.Log теперь находится в Boost 1.54, который находится в стабильном выпуске. Если вы уже используете Boost, я бы посмотрел на него.

Ответ 2

Нет зрителя, но вы можете попробовать pantheios. Я использую его уже почти год и вполне доволен этим.

Ответ 3

Я настоятельно рекомендую Pantheios, поскольку он единственный, полностью безопасный для текста, а также очень эффективный. Он накладывает небольшую работу на пользователя, выбирая правильные "front-end" и "back-end", но как только вы его заработаете, вы можете просто исправить и забыть.

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

Ответ 4

Если вы заботитесь о производительности, я предлагаю вам проверить Pantheios. В частности, он получил очень высокую производительность, и его можно использовать в сочетании с другими библиотеками протоколирования - он действует как эффективный, безопасный уровень между библиотекой протоколирования (например, log4cxx) и кодом приложения.

Ответ 5

Вы можете использовать wxWidgets и использовать его отлично class для ведения журнала. Это довольно легко и просто. Например, вы можете создать диалог, который собирает все ваши журналы (например, wxLogError, wxLogMessage, wxLogDebug и т.д.).

Ответ 6

Pantheios является хорошим кандидатом с точки зрения перманентности, но мои личные предпочтения P7. Мои внутренние тесты (CPU i7-4870HQ, SSD) показывают, что P7 быстрее, чем Pantheios.

  • Pantheios пишет 1,8 м строк в секунду (время и текстовое сообщение)
  • P7 записывает 2,4 МБ строк в секунду (время, поток, ядро ​​ЦП, функция, файл, строка и текстовое сообщение).