Ervaring met het gebruik van de Boost.Log-logboekregistratiebibliotheek?

Ik overweeg om de Boost.Log-logboekbibliotheekte gaan gebruiken. Gebruikt iemand Boost.Log? Deel uw ervaringen in dit verband.

De andere bibliotheken die ik overweeg zijn Apache log4cxx (het lijkt vervelend om te installeren, maar mijn teamgenoten willen iets eenvoudigs om te beginnen) en Pantheios (hetzelfde probleem omdat het werkt met extra front- en back-end).


Antwoord 1, autoriteit 100%

UPDATE: sinds dit geschreven is, heb ik Boost.Log vervangen door mijn eigen aangepaste logboekregistratie, vooral omdat ik om verschillende redenen besloot om alle Boost-afhankelijkheden in al mijn projecten te verwijderen. Als je het goed vindt om Boost te gebruiken, denk ik dat Boost.Log nog steeds een geldige keuze is, afgaande op Klaim’s antwoord.

Mijn ervaring met Boost.Log in jaar 2010 volgt.


Ik heb Boost.Log met succes geïntegreerd in mijn game-engine en ik kan er alleen maar goede dingen over zeggen. Natuurlijk, het is een beetje vroeg om te gebruiken, aangezien versie 2 de daadwerkelijke versie zal zijn die de officiële Boost.Log zal worden.

Pas op dat de beschikbare versie “1.0” niet wordt onderhouden. Om updates te ontvangen, moet u de laatste versie (trunk) gebruiken die instabiel kan worden. Houd hier rekening mee als je deze versie in serieuze projecten gaat gebruiken. Als je niet bang bent om geavanceerde versies of toekomstige breuken te gebruiken, ga ervoor. Het is echt leuk om te gebruiken zoals het zich in zijn huidige staat bevindt.

Ik heb lang gedacht dat het hiërarchische logsysteem in log4j/log4cxx superieur was, maar Boost.Log heeft me anders doen denken. Filteren en attributen is veel flexibeler.

Het ontwerp van sinks, gescheiden door frontend/backend, maakt het heel eenvoudig om extra backends toe te voegen. U hoeft zich geen zorgen te maken over synchronisatieproblemen of filteren die worden afgehandeld door de frontend.
De bibliotheek wordt ook geleverd met al veel backends, roterende bestanden, console, syslog, Windows-gebeurtenisregister, enz.

Ik heb mijn eigen sink-backends geschreven; één gaat naar de in-game console en één naar een soort notificatiesysteem voor serieuzere gebeurtenissen. Was makkelijker dan ik had verwacht, had het binnen een paar minuten in gebruik.

Last but not least, de onderhouder/ontwikkelaar is ook erg behulpzaam. Je krijgt veel hulp in de projectforums. Hij heeft dit weekend twee bugs (waarvan één grote) gerepareerd die ik heb gemeld 🙂


Antwoord 2, autoriteit 51%

UPDATE: ik gebruik Boost.Log in op een game-engine-systeem en ik ben er erg blij mee. Het is snel, draadveilig en heel erg flexibel wanneer je het nodig hebt.

Boost.Log zou dit jaar (2013) bij alle Boost-bibliotheken moeten worden geleverd.


Boost.Log is gemaakt om er een logsysteem op te zetten. Als je de documentatie leest, zul je zien dat het zo flexibel is dat elk logboeksysteem dat je kunt bedenken ermee kan worden gebouwd (zoals inloggen op een verre computer).

Dus, er zijn macro om het gebruik in eenvoudige projecten te vergemakkelijkenmaar ik denk dat dit het soort bibliotheek is dat vooral nuttig is voor mensen die logboekregistratie echt begrijpen en een specifieke architectuur voor hun toepassing willen bouwen.

Wat de prestaties betreft, ik herinner me dat er problemen waren bij de indiening waardoor het traag was in vergelijking met andere (minder flexibele) logboekbibliotheken, maar aangezien het een concept was en de eerste release nog niet uit is, zou ik me geen zorgen maken als je geen tijdkritische applicatie coderen.

Uiteindelijk denk ik dat het gewoon te “nieuw” is om “nu” te worden beoordeeld. Er is geen andere logboekbibliotheek die zo flexibel is als deze en ik weet niet zeker of veel mensen de behoefte zullen voelen om het te gebruiken.

Update: een recente e-mailuitwisseling met de Boost.Log-auteur resulteerde in enkele gegevens die suggereren dat Boost.Log duidelijk een uitstekend alternatief is voor snel loggen.


Antwoord 3, autoriteit 17%

Ik heb onlangs gekeken naar de implementatie van een logboeksysteem voor een project dat ik aan het starten was.

Ik heb log4cxx geprobeerd zoals je het noemt, het is inderdaad erg vervelend om te installeren. Het kostte me enkele uren om het te compileren onder VS2012 (met andere afhankelijkheidsbibliotheken…), en toen crashte het gewoon toen ik het in mijn project gebruikte. Er gebeuren zeker rare dingen met standaardbibliotheken die niet overeenkomen, maar ik kon er niet achter komen.

Dus ik schakelde over naar log4cpp, waarmee ik binnen een paar minuten aan de slag kon. Ik vind het elegant en lichtgewicht, precies wat ik nodig had. Het heeft het grote voordeel dat het dezelfde eigenschappen heeft als de bekende log4j & co. logsystemen die een echt pluspunt kunnen zijn voor uw teamwerk (configuratie via configuratiebestand, enz.)

Wat de prestaties betreft, is er één functieaanroep nodig om te controleren of de logger actief is voor het niveau van het bericht, en vervolgens één functieaanroep om de gegevens daadwerkelijk te loggen.

Met een paar zelfgemaakte macro’s (om LINE& co. toe te voegen aan berichten), is log4cpp echt nuttig gebleken in mijn project.

Helaas heb ik Boost.Log niet geprobeerd, dus ik kan er niet over praten, maar ik hoop dat deze feedback nog steeds nuttig voor je zal zijn als je ervoor kiest om niet op de Boost.Log-manier te gaan.

Other episodes