Страница 1 из 1

Logger, profiler,exception handler всё в одном:Easylogging++

Добавлено: Пн июн 16, 2014 2:56 pm
Diatlo
http://habrahabr.ru/post/225363/
Логирование сообщений с Easylogging++

Система логирования — незаменимый инструмент для протоколирования работы приложений. Для тех, кто не хочет реализовывать его самостоятельно, на C++ уже существует бессчётное количество готовых библиотек (Log4cplus, Apache log4cxx, Boost.Log и тд.), однако Easylogging++ отличается простотой использования и компактностью, не требует сторонних библиотек или инсталляции. Весь её код содержится в одном единственном заголовочном файле, который просто необходимо включить в код приложения.
...
Библиотека подключается одним заголовком, никаких lib-ов не требуется.
...
Сайт библиотеки: easylogging.org/
Лицензия: MIT
Язык: C++ 11
Зависит от: --
Платформы: Windows, Mac OSX, Debian (Ubuntu, Mint), Fedora
Компиляторы: GCC 4.7+, Visual C++ 11.0+, Intel C++ 13.0+, MinGW, Cygwin

Особенности:
Кроссплатформенность
Многопоточность
Настройка формата выдачи
Выдача custom типов данных (есть готовая реализации для STL контейнеров)
Переключение файлов журнала (rolling)
Условная и периодическая выдача
Проверки и обработка сбоев программы (exception handler)
Расчет времени исполнения методов (profiler)

Дополнительно, библиотека по умолчанию обрабатывает сбои приложения. Это поведение, конечно, можно отключить, но иногда может быть удобно получать логи на ряд сигналов, например: SIGFPE, SIGILL, SIGSEGV и т.д. Для gcc можно также выдавать в журнал call stack.