2011-07-14 15 views
26

W naszym projekcie teraz używamy log4cxx, ale biblioteka ta nie rozwija się przez kilka lat, również mamy z nią pewne problemy. Czy możesz doradzić jakiejś bibliotece do logowania w C++. Biblioteka musi obsługiwać wielowątkowe rejestrowanie, system-log. Również dobrze będzie, jeśli obsługuje rejestrowanie za pośrednictwem operatora < <. Również licencja na licencję musi być bardzo demokratyczna - podobna do boost, apache itp. Obsługa platform Crossplatform. Musi obsługiwać Linux, Windows. Lepiej, jeśli obsługuje on system solaris, aix, hp-ux, ale nie jest to konieczne.Lepsza biblioteka logowania dla C++

+1

Zobacz: [easylogging ++] (https://github.com/easylogging/easyloggingpp). To bije wsparcie :: zaloguj się w mojej opinii. – lepe

Odpowiedz

16

boost::log to prawdopodobnie najbardziej wszechstronna i dobrze napisana biblioteka rejestrowania, jaką widziałem. Jest to dość skomplikowane, ale naprawdę genialne w tym samym czasie. I robi wszystko, co możesz wymyślić, a potem jeszcze coś.

+0

I czy wiesz, dlaczego ta biblioteka nie jest teraz wzmocniona? Trwa zatwierdzenie lub jakieś poważne problemy z tym związane? – Olympian

+0

Właściwie nie znam dokładnego powodu; może to nie jest wystarczająco dojrzałe? Używałem go do kilku projektów i nie miałem z tym żadnego problemu. – stijn

+1

Zostało zaakceptowane, ale pojawiły się pewne problemy z umieszczeniem go w bagażniku doładowania (co ma związek z wersją IIRC w wersji feniksowej). Niedawno dyskutowano o liście mailingowej dotyczącej tego problemu. – Ralf

3

Zapoznaj się z pantheios!

+1

Czy ta biblioteka obsługuje wiele rejestrów (nie wiem jak to nazwać) - dla przykład mam moduł A, B. Chcę ustawić śledzenie poziomu dziennika dla A i tylko błąd dla B? I tworzy nowe rejestratory i ustawia je w łatwy sposób? Lub czasami mało trywialne – Olympian

+2

Pantheios wygląda naprawdę świetnie, z wyjątkiem tego, że autor najwyraźniej zostawił go umierającego na winorośli przez co najmniej 18 miesięcy i nie będzie budował przy użyciu najnowszych wydań kompilatorów :-( –

3

Używamy w naszej firmie log4cplus, zapewnia on kompleksowy hierarchiczny system logowania (oparty na log4j). Wydaje się, że ma wszystko, o co prosisz. Zapewnia wiele appenders (osobiście wybieram tę bibliotekę dla ruchomych plików linux/windows i linux Syslog).

Biblioteka jest dość prosta do skompilowania i zainstalowania na obu systemach Linux: WindowsA do tej pory nie ma problemu (około 4 lat produkcji).

Jedyny mankament, brak dokumentacji, ale kod całkiem zrozumiały. Dobrą nowością jest przejście do strony dokumentacji log4j, aby zrozumieć, w jaki sposób konfiguratory/wzorce/etc działają ...

12

Używam biblioteki glog, przez google (ponieważ nie mogłem łatwo zainstalować Boost.Log). Jest zarówno prosty w użyciu, jak i wydajny.

+0

Tak, oglądam Ta biblioteka jest łatwa, ale dla młodych - obawiam się, że są jakieś złe błędy :( – Olympian

+0

Wygląda interesująco! Thanx! –

+2

glog ma kilka wad: - wymaga konfiguracji z flag linii poleceń (i działa najlepiej z gflagami); - oczekuje się, że zostanie zainicjalizowany z głównej, więc nie oczekuje się, że będzie używany w dynamicznie ładowanych bibliotekach (gdzie każda biblioteka ma swój własny skrót); - brakuje w nim dokumentów dla okien (np.jaka jest domyślna ścieżka do plików dla logów); Z drugiej strony: jest wysokiej jakości, dobrze przetestowany, używany w dużych systemach produkcyjnych. –