Doświadczenie w korzystaniu z biblioteki logowania Boost.Log? [Zamknięte]

88

Rozważam rozpoczęcie korzystania z biblioteki logowania Boost.Log . Czy ktoś używa Boost.Log? Prosimy o podzielenie się swoimi doświadczeniami w tym zakresie.

Inne biblioteki, które rozważam, to Apache log4cxx (instalacja wydaje się żmudna, ale moi koledzy z zespołu chcą czegoś prostego, aby rozpocząć) i Pantheios (ten sam problem, ponieważ działa z dodatkowym frontem i zapleczem).

dobrze
źródło
Mam własny system logowania, ale rozważam zmianę, więc ciekawe pytanie!
Cedric H.
21
bloost.log jest BARDZO BARDZO powolny, niesamowicie złożony w konfiguracji, ledwo przeszedł proces przeglądu, a od 1.47 nadal nie jest w wersji Boost. Jest to jedna z tych bibliotek, które mogą nie trafić do głównej wersji w ciągu najbliższych kilku lat, więc na razie log4c itp. Są lepszymi opcjami.
4
Właściwie zostało wyjaśnione, że wymaga pewnych poprawek i że obecny cel wydania to lato - opuszczone biblioteki nie mają harmonogramu ani repozytorium prac w toku. Ponadto autor zgłosił, że użytkownik zgłosił BARDZO BARDZO dobrą wydajność. Złożoność jest przydatna w niektórych kontekstach i jeśli jej nie potrzebujesz, możesz po prostu użyć dostarczonych łatwych makr. Więc nie zgadzam się z twoim komentarzem.
Klaim
40
Naprawdę chciałbym, żeby StackOverflow przestał zamykać oczywiście przydatne pytania, takie jak to, jako „nie konstruktywne”.
Stéphane
6
Zastanawiam się, jakie są wyniki w 2015 roku? Może używanie 2.0 jest teraz „OK”?
Vincas Dargis

Odpowiedzi:

41

AKTUALIZACJA : Odkąd to zostało napisane, zastąpiłem Boost.Log moim własnym niestandardowym logowaniem, głównie dlatego, że zdecydowałem się pozbyć wszystkich zależności Boost we wszystkich moich projektach z różnych powodów. Jeśli nie masz nic przeciwko używaniu Boost, myślę, że Boost.Log jest nadal ważnym wyborem, sądząc po odpowiedzi Klaima .

Moje doświadczenie z Boost.Log w 2010 roku następuje.


Z powodzeniem zintegrowałem Boost.Log w moim silniku gry i mogę o nim mówić tylko dobre rzeczy. Jasne, jest trochę za wcześnie, ponieważ wersja 2 będzie rzeczywistą wersją, która stanie się oficjalnym dziennikiem Boost.Log.

Pamiętaj, że dostępna wersja „1.0” nie jest aktualizowana. Aby otrzymywać aktualizacje, musisz użyć wersji bleeding edge (trunk), która może stać się niestabilna. Weź to pod uwagę, jeśli zamierzasz używać tej wersji w poważnych projektach. Jeśli nie boisz się używać krwawych wersji lub przyszłych awarii, zrób to. Jest naprawdę przyjemny w użyciu, ponieważ jest w obecnym stanie.

Od dawna myślałem, że hierarchiczny system logowania w log4j / log4cxx jest lepszy, ale Boost.Log sprawił, że pomyślałem inaczej. Filtrowanie i atrybuty są znacznie bardziej elastyczne.

Konstrukcja zlewozmywaków oddzielonych frontendem / backendem sprawia, że ​​dodawanie kolejnych backendów jest naprawdę łatwe. Nie musisz martwić się o problemy z synchronizacją lub filtrowaniem, które jest obsługiwane przez frontend. Biblioteka zawiera również wiele backendów, pliki rotacyjne, konsolę, syslog, rejestr zdarzeń Windows itp.

Napisałem własne backendy zlewu; jeden idzie do konsoli w grze, a drugi do swego rodzaju systemu powiadamiania o poważniejszych wydarzeniach. Było łatwiejsze niż się spodziewałem, uruchomiłem go w ciągu zaledwie kilku minut.

Wreszcie, opiekun / programista jest również bardzo pomocny. Otrzymasz dużo pomocy na forach projektu. Naprawił dwa błędy (w tym jeden główny), które zgłosiłem w ten weekend :-)

Oskar N.
źródło
21

AKTUALIZACJA: Używam Boost, zaloguj się do systemu silnika gry i jestem z niego bardzo zadowolony. Jest szybki, bezpieczny dla wątków i bardzo elastyczny, gdy go potrzebujesz.

Boost.Log powinien być dostarczany ze wszystkimi bibliotekami Boost w nadchodzącej wersji w tym roku (2013).


Boost.Log ma na celu skonfigurowanie systemu dziennika na nim. Jeśli przeczytasz dokumentację, zobaczysz, że jest ona tak elastyczna, że ​​każdy system logowania, jaki przyjdzie Ci do głowy, może zostać za jego pomocą zbudowany (jak logowanie na odległym komputerze).

Tak, istnieją makro w celu ułatwienia stosowania w prostych projektów , ale myślę, że jest to rodzaj biblioteki, która jest przydatna głównie do osób, które naprawdę zrozumieć, rejestrowanie i chcą zbudować specyficzną architekturę dla ich stosowania.

Jeśli chodzi o wydajność, pamiętam, że wystąpiły problemy z przesyłaniem, które spowolniły je w porównaniu z innymi (mniej elastycznymi) bibliotekami logowania, ale ponieważ była to wersja robocza, a pierwsza wersja jeszcze się nie ukazała, nie zawracałbym sobie głowy, jeśli nie kodujesz aplikacji krytycznej czasowo.

W końcu uważam, że jest po prostu zbyt „nowy”, aby można go było oceniać „teraz”. Nie ma innej biblioteki rejestrowania, która byłaby tak elastyczna jak ta i nie jestem pewien, czy wiele osób poczuje potrzebę jej używania.

Aktualizacja: niedawna wymiana e-maili z autorem Boost.Log zaowocowała danymi, które sugerują, że tat Boost.Log jest z pewnością doskonałą alternatywą dla szybkiego logowania.

Klaim
źródło
7

Niedawno zastanawiałem się nad wdrożeniem systemu logowania w projekcie, który zaczynałam.

Próbowałem log4cxx, jak o tym wspomniałeś, instalacja jest rzeczywiście bardzo żmudna. Skompilowanie go pod VS2012 (z innymi bibliotekami zależności ...) zajęło mi kilka godzin, a potem po prostu się zawiesiło, gdy użyłem go w moim projekcie. Z pewnością dziwne rzeczy dzieje się z niedopasowaniem standardowych bibliotek, ale nie mogłem tego rozgryźć.

Więc przełączyłem się na log4cpp, który uruchomiłem w ciągu zaledwie kilku minut. Uważam, że jest elegancki i lekki, właśnie tego potrzebowałem. Ma tę wielką zaletę, że ma te same funkcje, co dobrze znany log4j & co. systemy logowania, które mogą być prawdziwym plusem dla Twojej pracy zespołowej (konfiguracja poprzez plik konfiguracyjny itp.)

Jeśli chodzi o wydajność, wystarczy jedno wywołanie funkcji, aby sprawdzić, czy rejestrator jest aktywny dla poziomu wiadomości, a następnie jedno wywołanie funkcji, aby faktycznie zarejestrować dane.

Z kilkoma własnymi makrami (aby dodać LINE & co. Do wiadomości), log4cpp naprawdę okazał się przydatny w moim projekcie.

Niestety, nie wypróbowałem Boost.Log, więc nie mogę o tym mówić, ale mam nadzieję, że ta opinia będzie dla ciebie przydatna, jeśli zdecydujesz się nie korzystać z Boost.Log.

Qortex
źródło