Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Логгирование в C++. Выбор библиотеки. Сложность выбора, на что смотреть? 
V
    Опции темы
Zerstroer
Дата 10.7.2012, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 8.8.2007
Где: Алма-Ата

Репутация: нет
Всего: 3



Здравствуйте!
Встала необходимость реализовать в программе систему логгирования. Решил не вывелосипедиваться, а использовать что-нибудь готовое.
Требования к библиотеке: потокобезопастность, ротация логов, а самое главное - документация и поддержка. Желательно, что бы тут на форуме водились люди, с этой библиотекой работавшие и способные помочь советом.
Ограничения: библиотека должна входить в стабильную ветку репозитория Debian.
В общем, после гугления нашлись следующие кандидаты:
  •  log4cpp
  •  log4cxx
  •  log4cplus
  •  google-glog
  •  boost-log
  •  pantheios
  •  log4c
из них отпадают, за отсутствием в стабильном репозитории log4cplusboost-logpantheios.
В итоге, получаю, рядом привожу ссылку на официальный ресурс, и дату выхода крайней версии (по информации на оф.ресурсе) :Из названий очевидно, что log4* - пошли от удачной Java-библиотеки log4j. 

В общем вопрос -из приведенного списка лучше? 

Субъективные мнения к рассмотрению принимаются. 
Я действительно не знаю, что выбрать и на что смотреть. Вкратце для себя сделал небольшие выводы:
1. log4cxx - вроде как находится под крылом Apache.
2. google-glog - не смог найти толком документации.
Но, для обоснованного выбора - этих тезисов мало.


Это сообщение отредактировал(а) Zerstroer - 10.7.2012, 17:50


--------------------
In silico
PM MAIL ICQ   Вверх
borisbn
Дата 10.7.2012, 20:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 22
Всего: 135



Цитата(Zerstroer @  10.7.2012,  16:20 Найти цитируемый пост)
Требования к библиотеке: потокобезопастность, ротация логов

не очень понял, что такое "ротация логов", но при беглом взгляде гугловая библиотека потоконебезопасна.


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
feodorv
Дата 10.7.2012, 23:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2214
Регистрация: 30.7.2011

Репутация: 11
Всего: 45



Цитата(borisbn @  10.7.2012,  21:32 Найти цитируемый пост)
не очень понял, что такое "ротация логов"

Это когда по достижении какого-то лимита (по объёму или по дате) меняется файл лога.
Так, можно логгироваться посуточно, автоматически удаляя старые (недельной или месячной давности) файлы логов.


--------------------
Напильник, велосипед, грабли и костыли - основные инструменты программиста...
PM MAIL   Вверх
Zerstroer
Дата 11.7.2012, 05:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 8.8.2007
Где: Алма-Ата

Репутация: нет
Всего: 3



Цитата(borisbn @  10.7.2012,  18:32 Найти цитируемый пост)
не очень понял, что такое "ротация логов", но при беглом взгляде гугловая библиотека потоконебезопасна. 

feodorv написал верно - ротация логов, это запись лога в новый файл, при достижении определенного размера и удаление старых файлов, при достижении определенного суммарного размера.
google-glog так же отпадает, так как ротация файлов там, как раз таки, не предусмотрена.
Остаются 2 форка от log4j - log4cxx и log4cpp (и еще, может быть log4c). Один из них (log4cxx) - под крылом Apache, а второй (log4cpp), вроде бы, полностью копирует интерфейс log4j. 


--------------------
In silico
PM MAIL ICQ   Вверх
Zerstroer
Дата 11.7.2012, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 8.8.2007
Где: Алма-Ата

Репутация: нет
Всего: 3



Остановился на log4cpp. Библиотека и так покрыта паутиной и плесенью, однако в моем любимом Debian, в стабильной ветке оказалась не самая последняя версия.
Проверил работоспособность. Про потокобезопасность и утечки памяти ничего сказать не могу, однако обнаружилась успешно работающая ротация файлов, что радует.
Библиотека использует для работы внешний конфигурационный файл (по крайней мере в примерах везде он используется). Ищу возможность работы БЕЗ этого конфига.



--------------------
In silico
PM MAIL ICQ   Вверх
Zerstroer
Дата 12.7.2012, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 8.8.2007
Где: Алма-Ата

Репутация: нет
Всего: 3



Разобрался и написал что хотел при помощи библиотеки log4cpp. Могу сварганить небольшую how-to-шечку. Нужно ли?
Вопрос закрыт. 

Это сообщение отредактировал(а) Zerstroer - 12.7.2012, 20:54


--------------------
In silico
PM MAIL ICQ   Вверх
boostcoder
Дата 12.7.2012, 20:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



Цитата(Zerstroer @  12.7.2012,  20:52 Найти цитируемый пост)
Нужно ли?

давай.
любопытно посмотреть, как оно юзается.
PM WWW   Вверх
Zerstroer
Дата 12.7.2012, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 8.8.2007
Где: Алма-Ата

Репутация: нет
Всего: 3



Цитата(boostcoder @  12.7.2012,  18:56 Найти цитируемый пост)
давай.
любопытно посмотреть, как оно юзается. 

Хорошо, как мануал напишу, обращусь к вам с вопросом, как и куда его выложить. Постараюсь побыстрее.


--------------------
In silico
PM MAIL ICQ   Вверх
EvilsInterrupt
Дата 13.7.2012, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

Репутация: 2
Всего: 9



>> boost-log
Под этим рассматривали творение Семачева? Это или это ?

>>Ищу возможность работы БЕЗ этого конфига.
Насколько понимаю сейчас чуть ли не любая более менее приличная библиотека логирования позволяет работать как согласно конфигу, так и согласно рантайм-заданным настройкам.

Для себя же ищу нечто похожее Python-модулю logging . Очень удобный интерфейс у этого модуля. На С++ как правило вижу награмождение библиотек и при использовании множество макросов, а функциональности и половины нету (((

Сам же пока останавливаюсь на Boost.Log, его пока почему-то все еще никак в Boost не включат, но уже достаточно много народу использует и это радует
PM MAIL WWW ICQ Jabber   Вверх
Zerstroer
Дата 16.7.2012, 13:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 8.8.2007
Где: Алма-Ата

Репутация: нет
Всего: 3



EvilsInterrupt, какое именно из творений Семачева я рассматривал - я сказать не могу, так как исключил из конкурса после того, как обнаружил, что в boost имеющийся в стабильном репозитории Debian, он не включен.
Log4cpp - функциональность и синтаксис мне понравились, как раз таки тем, что макросы там совершенно не обязательны, синтаксис эдакий Java-ООП-style и функциональность меня в полной мере удовлетворившая.


--------------------
In silico
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0928 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.