Verwenden Sie die Kanal-Suche von Boost.Log für die Filterung des Schweregrads und der Senke.

Ich habe Boost.Log für eine Weile studiert und ich glaube, jetzt ist die Zeit für mich, meine Codebasis von log4cxx auf Boost.Log umzustellen. Ich bin davon überzeugt, dass das Design und die Implementierung von Boost.Log die Pflege und Nutzung meines Codes erheblich verbessern werden. Ich weiß, dass die Boost.Log-FAQ ein @ h Seite, auf der @ ste

Wie bei hierarchischen Loggern ist diese Funktion im aktuellen Bibliotheksdesign nicht erforderlich. Einer der Hauptvorteile von log4j ist die Bestimmung der Appender (Senken im Sinne dieser Bibliothek), in denen ein Protokolldatensatz landet. Diese Bibliothek erzielt das gleiche Ergebnis durch Filtern.

Ich verstehe die konzeptionelle Entsprechung und versuche nicht, Boost.Log in log4j / log4cxx zu machen. Vielmehr lautet meine Frage: Wie verwende ich Boost.Log, um dieselbe Funktionalität zu erhalten, die ich derzeit von log4cxx verwende? Insbesondere möchte ich Schweregradschwellen und -senken für bestimmte Knoten in einer Protokollquelle oder einer Kanalhierarchie festlegen. Zum Beispiel habe ich Protokollierungsquellen, die nach @ organisiert sinlibA.moduleB.componentC.logD mit durch Punkte getrennten Ebenen in der Hierarchie.. Mit log4cxx kann man den Gesamtschwellenwert von @ setzlibA zu INFO mit dem spezifischeren Logger,libA.moduleB, mit einem Schwellwert von DEBUG.

libA.threshold=INFO
libA.moduleB.threshold=DEBUG

Ebenso kann man Senken an beliebige Knoten in der Hierarchie anhängen.

Ich glaube, dass eine ähnliche Funktion mit Boost.Log möglich ist, aber ich benötige Hilfe / Anleitung, wie dies tatsächlich implementiert wird. Ich bin mir außerdem sicher, dass andere, die von anderen Frameworks zu Boost.Log wechseln möchten, die gleiche Frage haben werden.

Ich freue mich aufrichtig über Ihre Kommentare.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage