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é :-)