| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Логгирование в C++. Выбор библиотеки. |
| Автор: Zerstroer 10.7.2012, 16:20 |
| Здравствуйте! Встала необходимость реализовать в программе систему логгирования. Решил не вывелосипедиваться, а использовать что-нибудь готовое. Требования к библиотеке: потокобезопастность, ротация логов, а самое главное - документация и поддержка. Желательно, что бы тут на форуме водились люди, с этой библиотекой работавшие и способные помочь советом. Ограничения: библиотека должна входить в стабильную ветку репозитория Debian. В общем, после гугления нашлись следующие кандидаты:
В итоге, получаю, рядом привожу ссылку на официальный ресурс, и дату выхода крайней версии (по информации на оф.ресурсе) :
В общем вопрос -из приведенного списка лучше? Субъективные мнения к рассмотрению принимаются. Я действительно не знаю, что выбрать и на что смотреть. Вкратце для себя сделал небольшие выводы: 1. log4cxx - вроде как находится под крылом Apache. 2. google-glog - не смог найти толком документации. Но, для обоснованного выбора - этих тезисов мало. |
| Автор: borisbn 10.7.2012, 20:32 |
не очень понял, что такое "ротация логов", но при беглом взгляде гугловая библиотека потоконебезопасна. |
| Автор: feodorv 10.7.2012, 23:51 |
Это когда по достижении какого-то лимита (по объёму или по дате) меняется файл лога. Так, можно логгироваться посуточно, автоматически удаляя старые (недельной или месячной давности) файлы логов. |
| Автор: Zerstroer 11.7.2012, 22:36 |
| Остановился на log4cpp. Библиотека и так покрыта паутиной и плесенью, однако в моем любимом Debian, в стабильной ветке оказалась не самая последняя версия. Проверил работоспособность. Про потокобезопасность и утечки памяти ничего сказать не могу, однако обнаружилась успешно работающая ротация файлов, что радует. Библиотека использует для работы внешний конфигурационный файл (по крайней мере в примерах везде он используется). Ищу возможность работы БЕЗ этого конфига. |
| Автор: Zerstroer 12.7.2012, 20:52 |
| Разобрался и написал что хотел при помощи библиотеки log4cpp. Могу сварганить небольшую how-to-шечку. Нужно ли? Вопрос закрыт. |
| Автор: boostcoder 12.7.2012, 20:56 |
давай. любопытно посмотреть, как оно юзается. |
| Автор: Zerstroer 12.7.2012, 21:03 |
Хорошо, как мануал напишу, обращусь к вам с вопросом, как и куда его выложить. Постараюсь побыстрее. |
| Автор: EvilsInterrupt 13.7.2012, 17:48 |
| >> boost-log Под этим рассматривали творение Семачева? http://boost-log.sourceforge.net/libs/log/doc/html/index.html или http://torjo.com/log2/doc/html/index.html ? >>Ищу возможность работы БЕЗ этого конфига. Насколько понимаю сейчас чуть ли не любая более менее приличная библиотека логирования позволяет работать как согласно конфигу, так и согласно рантайм-заданным настройкам. Для себя же ищу нечто похожее Python-модулю logging . Очень удобный интерфейс у этого модуля. На С++ как правило вижу награмождение библиотек и при использовании множество макросов, а функциональности и половины нету ((( Сам же пока останавливаюсь на Boost.Log, его пока почему-то все еще никак в Boost не включат, но уже достаточно много народу использует и это радует |
| Автор: Zerstroer 16.7.2012, 13:47 |
| EvilsInterrupt, какое именно из творений Семачева я рассматривал - я сказать не могу, так как исключил из конкурса после того, как обнаружил, что в boost имеющийся в стабильном репозитории Debian, он не включен. Log4cpp - функциональность и синтаксис мне понравились, как раз таки тем, что макросы там совершенно не обязательны, синтаксис эдакий Java-ООП-style и функциональность меня в полной мере удовлетворившая. |