![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Zerstroer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 285 Регистрация: 8.8.2007 Где: Алма-Ата Репутация: нет Всего: 3 |
Здравствуйте!
Встала необходимость реализовать в программе систему логгирования. Решил не вывелосипедиваться, а использовать что-нибудь готовое. Требования к библиотеке: потокобезопастность, ротация логов, а самое главное - документация и поддержка. Желательно, что бы тут на форуме водились люди, с этой библиотекой работавшие и способные помочь советом. Ограничения: библиотека должна входить в стабильную ветку репозитория Debian. В общем, после гугления нашлись следующие кандидаты:
В итоге, получаю, рядом привожу ссылку на официальный ресурс, и дату выхода крайней версии (по информации на оф.ресурсе) :
В общем вопрос -из приведенного списка лучше? Субъективные мнения к рассмотрению принимаются. Я действительно не знаю, что выбрать и на что смотреть. Вкратце для себя сделал небольшие выводы: 1. log4cxx - вроде как находится под крылом Apache. 2. google-glog - не смог найти толком документации. Но, для обоснованного выбора - этих тезисов мало. Это сообщение отредактировал(а) Zerstroer - 10.7.2012, 17:50 -------------------- In silico |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 22 Всего: 135 |
не очень понял, что такое "ротация логов", но при беглом взгляде гугловая библиотека потоконебезопасна. -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 11 Всего: 45 |
Это когда по достижении какого-то лимита (по объёму или по дате) меняется файл лога. Так, можно логгироваться посуточно, автоматически удаляя старые (недельной или месячной давности) файлы логов. -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
Zerstroer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 285 Регистрация: 8.8.2007 Где: Алма-Ата Репутация: нет Всего: 3 |
feodorv написал верно - ротация логов, это запись лога в новый файл, при достижении определенного размера и удаление старых файлов, при достижении определенного суммарного размера. google-glog так же отпадает, так как ротация файлов там, как раз таки, не предусмотрена. Остаются 2 форка от log4j - log4cxx и log4cpp (и еще, может быть log4c). Один из них (log4cxx) - под крылом Apache, а второй (log4cpp), вроде бы, полностью копирует интерфейс log4j. -------------------- In silico |
|||
|
||||
Zerstroer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 285 Регистрация: 8.8.2007 Где: Алма-Ата Репутация: нет Всего: 3 |
Остановился на log4cpp. Библиотека и так покрыта паутиной и плесенью, однако в моем любимом Debian, в стабильной ветке оказалась не самая последняя версия.
Проверил работоспособность. Про потокобезопасность и утечки памяти ничего сказать не могу, однако обнаружилась успешно работающая ротация файлов, что радует. Библиотека использует для работы внешний конфигурационный файл (по крайней мере в примерах везде он используется). Ищу возможность работы БЕЗ этого конфига. -------------------- In silico |
|||
|
||||
Zerstroer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 285 Регистрация: 8.8.2007 Где: Алма-Ата Репутация: нет Всего: 3 |
Разобрался и написал что хотел при помощи библиотеки log4cpp. Могу сварганить небольшую how-to-шечку. Нужно ли?
Вопрос закрыт. Это сообщение отредактировал(а) Zerstroer - 12.7.2012, 20:54 -------------------- In silico |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
||||
|
||||
Zerstroer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 285 Регистрация: 8.8.2007 Где: Алма-Ата Репутация: нет Всего: 3 |
Хорошо, как мануал напишу, обращусь к вам с вопросом, как и куда его выложить. Постараюсь побыстрее. -------------------- In silico |
|||
|
||||
EvilsInterrupt |
|
|||
Executables research ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 14.7.2007 Где: Железнодорожный, МО, Россия Репутация: 2 Всего: 9 |
>> boost-log
Под этим рассматривали творение Семачева? Это или это ? >>Ищу возможность работы БЕЗ этого конфига. Насколько понимаю сейчас чуть ли не любая более менее приличная библиотека логирования позволяет работать как согласно конфигу, так и согласно рантайм-заданным настройкам. Для себя же ищу нечто похожее Python-модулю logging . Очень удобный интерфейс у этого модуля. На С++ как правило вижу награмождение библиотек и при использовании множество макросов, а функциональности и половины нету ((( Сам же пока останавливаюсь на Boost.Log, его пока почему-то все еще никак в Boost не включат, но уже достаточно много народу использует и это радует |
|||
|
||||
Zerstroer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 285 Регистрация: 8.8.2007 Где: Алма-Ата Репутация: нет Всего: 3 |
EvilsInterrupt, какое именно из творений Семачева я рассматривал - я сказать не могу, так как исключил из конкурса после того, как обнаружил, что в boost имеющийся в стабильном репозитории Debian, он не включен.
Log4cpp - функциональность и синтаксис мне понравились, как раз таки тем, что макросы там совершенно не обязательны, синтаксис эдакий Java-ООП-style и функциональность меня в полной мере удовлетворившая. -------------------- In silico |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |