Expérience d'utilisation de la bibliothèque de journalisation Boost.Log? [fermé]


88

J'envisage de commencer à utiliser la bibliothèque de journalisation Boost.Log . Quelqu'un utilise-t-il Boost.Log? Veuillez partager vos expériences à cet égard.

Les autres bibliothèques que je considère sont Apache log4cxx (cela semble fastidieux à installer mais mes coéquipiers veulent quelque chose de simple pour commencer) et Pantheios (le même problème car il fonctionne avec un front et un back-end supplémentaires).


J'ai mon propre système de journalisation, mais j'envisage de changer, question donc intéressante!
Cedric H.

21
bloost.log est TRÈS TRÈS lent, incroyablement complexe à configurer, il a à peine passé son processus de révision et, à partir de la version 1.47, il n'est toujours pas dans la version Boost. C'est l'une de ces bibliothèques qui pourraient ne pas en faire la ligne principale dans les deux prochaines années, donc pour l'instant, log4c, etc. sont de meilleures options.

4
En fait, il a été expliqué qu'il a besoin de quelques correctifs et que l'objectif actuel de la publication est cet été - les bibliothèques abandonnées n'ont pas de calendrier et de référentiel de travail en cours. En outre, il a été rapporté par l'auteur que l'utilisateur a signalé de très très bonnes performances. La complexité est utile dans certains contextes et si vous n'en avez pas besoin, vous pouvez simplement utiliser les macros faciles fournies. Donc, je ne suis pas d'accord avec votre commentaire.
Klaim

40
Je souhaite vraiment que StackOverflow arrête de fermer des questions manifestement utiles comme celle-ci car "non constructives".
Stéphane

6
Je me demande, comment est la performance en 2015? Peut-être que l'utilisation de 2.0 est "OK" maintenant?
Vincas Dargis

Réponses:


41

MISE À JOUR : depuis que cela a été écrit, j'ai remplacé Boost.Log par ma propre journalisation personnalisée, principalement parce que j'ai décidé de me débarrasser de toutes les dépendances Boost dans tous mes projets pour diverses raisons. Si vous êtes d'accord avec Boost, je suppose que Boost.Log est toujours un choix valide à en juger par la réponse de Klaim .

Mon expérience avec Boost.Log en 2010 suit.


J'ai intégré avec succès Boost.Log dans mon moteur de jeu et je ne peux qu'en parler de bonnes choses. Bien sûr, il est un peu tôt à utiliser, car la version 2 sera la version réelle qui deviendra le Boost.Log officiel.

Attention, la version "1.0" disponible n'est pas maintenue. Pour recevoir des mises à jour, vous devez utiliser la version de pointe (tronc) qui pourrait devenir instable. Tenez-en compte si vous comptez utiliser cette version dans des projets sérieux. Si vous n'avez pas peur d'utiliser des versions de pointe ou des bris futurs, alors allez-y. C'est vraiment agréable à utiliser car il est dans son état actuel.

J'ai longtemps pensé que le système de journalisation hiérarchique de log4j / log4cxx était supérieur, mais Boost.Log m'a fait penser autrement. Le filtrage et les attributs sont beaucoup plus flexibles.

La conception des puits séparés par frontend / backend facilite l'ajout de backends supplémentaires. Pas besoin de s'inquiéter des problèmes de synchronisation ou de filtrage qui sont gérés par le frontend. La bibliothèque est également livrée avec de nombreux backends, des fichiers de rotation, une console, un syslog, un registre d'événements Windows, etc.

J'ai écrit mes propres backends d'évier; l'un va à la console du jeu et l'autre à une sorte de système de notification pour les événements plus graves. C'était plus facile que prévu, il était opérationnel en quelques minutes.

Enfin, le mainteneur / développeur est également très utile. Vous aurez beaucoup d'aide dans les forums du projet. Il a corrigé deux bugs (dont un majeur) ce week-end que j'ai signalé :-)


21

MISE À JOUR: J'utilise Boost, connectez-vous à un système de moteur de jeu et j'en suis très content. C'est rapide, sans fil et très très flexible lorsque vous en avez besoin.

Boost.Log devrait être fourni avec toutes les bibliothèques Boost dans une prochaine version cette année (2013).


Boost.Log est conçu pour configurer un système de journalisation dessus. Si vous lisez la documentation, vous verrez qu'elle est si flexible que tout système de journalisation auquel vous pouvez penser peut être construit avec (comme la journalisation sur un ordinateur distant).

Il existe donc des macros pour faciliter l'utilisation dans des projets simples, mais je pense que c'est le type de bibliothèque qui est principalement utile aux personnes qui comprennent vraiment la journalisation et qui souhaitent créer une architecture spécifique pour leur application.

À propos des performances, je me souviens qu'il y avait des problèmes lors de la soumission qui l'ont ralenti par rapport à d'autres bibliothèques de journalisation (moins flexibles), mais comme il s'agissait d'un brouillon et que la première version n'est pas encore sortie, je ne vous dérangerais pas si vous ne codez pas un application à temps critique.

En fin de compte, je pense que c'est tout simplement trop «nouveau» pour être évalué «maintenant». Il n'y a pas d'autre bibliothèque de journalisation aussi flexible que celle-ci et je ne suis pas sûr que beaucoup de gens ressentent le besoin de l'utiliser.

Mise à jour: un récent échange de courriels avec l'auteur de Boost.Log a donné lieu à des données suggérant que tat Boost.Log est clairement une excellente alternative pour une journalisation rapide.


7

J'ai récemment étudié la mise en œuvre d'un système de journalisation sur un projet que je commençais.

J'ai essayé log4cxx comme vous le mentionnez, il est en effet très fastidieux à installer. Il m'a fallu plusieurs heures pour le faire compiler sous VS2012 (avec d'autres bibliothèques de dépendances ...), puis il s'est écrasé lorsque je l'ai utilisé dans mon projet. Certainement des trucs bizarres se produisant avec des incompatibilités de bibliothèques standard, mais je n'ai pas pu le comprendre.

Je suis donc passé à log4cpp que j'ai mis en service en quelques minutes. Je le trouve élégant et léger, exactement ce dont j'avais besoin. Il a le gros avantage d'avoir les mêmes fonctionnalités que le bien connu log4j & co. des systèmes de journalisation qui pourraient être un vrai plus pour votre travail d'équipe (configuration via fichier de configuration, etc.)

En ce qui concerne les performances, il faut un appel de fonction pour vérifier si l'enregistreur est actif pour le niveau du message, puis un appel de fonction pour enregistrer réellement les données.

Avec quelques macros faites maison (pour ajouter LINE & co. Aux messages), log4cpp s'est vraiment avéré utile dans mon projet.

Malheureusement, je n'ai pas essayé Boost.Log, je ne peux donc pas en parler, mais j'espère que ces commentaires vous seront toujours utiles si vous choisissez de ne pas suivre la voie Boost.Log.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.