UPDATE : Ich habe Boost.Log durch meine eigene benutzerdefinierte Protokollierung ersetzt, da dies aus verschiedenen Gründen beschlossen wurde, alle Boost-Abhängigkeiten in all meinen Projekten zu beseitigen. Wenn Sie mit Boost gut zurechtkommen, ist Boost.Log nach Klaims Antwort immer noch eine gültige Wahl .
Meine Erfahrung mit Boost.Log im Jahr 2010 folgt.
Ich habe Boost.Log erfolgreich in meine Spiel-Engine integriert und kann nur Gutes darüber sagen. Sicher, die Verwendung ist etwas früh, da Version 2 die eigentliche Version sein wird, die zum offiziellen Boost.Log wird.
Beachten Sie, dass die verfügbare Version "1.0" nicht beibehalten wird. Um Updates zu erhalten, müssen Sie die Version mit dem neuesten Stand (Trunk) verwenden, die möglicherweise instabil wird. Berücksichtigen Sie dies, wenn Sie diese Version in ernsthaften Projekten verwenden möchten. Wenn Sie keine Angst haben, hochmoderne Versionen oder zukünftige Brüche zu verwenden, dann versuchen Sie es. Es ist wirklich schön zu benutzen, da es sich in seinem aktuellen Zustand befindet.
Ich habe lange gedacht, dass das hierarchische Protokollierungssystem in log4j / log4cxx überlegen ist, aber Boost.Log hat mich dazu gebracht, anders zu denken. Filterung und Attribute sind viel flexibler.
Das Design der durch Frontend / Backend getrennten Spülen macht es wirklich einfach, zusätzliche Backends hinzuzufügen. Sie müssen sich keine Gedanken über Synchronisierungsprobleme oder Filter machen, die vom Frontend behandelt werden. Die Bibliothek enthält auch bereits viele Backends, Rotationsdateien, Konsole, Syslog, Windows-Ereignisregister usw.
Ich habe meine eigenen Sink-Backends geschrieben. Man geht zur In-Game-Konsole und man geht zu einer Art Benachrichtigungssystem für schwerwiegendere Ereignisse. War einfacher als ich erwartet hatte, hatte es in nur wenigen Minuten zum Laufen gebracht.
Last but not least ist auch der Betreuer / Entwickler sehr hilfreich. In den Projektforen erhalten Sie jede Menge Hilfe. Er hat gerade dieses Wochenende zwei Fehler behoben (davon einen großen), die ich gemeldet habe :-)