Ich füge Protokollierung zu einem alten C ++ - Programm hinzu. Nach einigen Recherchen habe ich beschlossen, Boost Log zu verwenden . Die Dokumentation enthält Beispiele zum Erstellen von Senken und Filtern. Ich konnte jedoch kein Beispiel für eine Protokollkonfigurationsdatei finden.
Gibt es eine Möglichkeit, die Protokollierung von einer Datei zu konfigurieren, die nicht kompiliert werden muss? Ähnlich wie log4net? Oder Python (naja, Python ist sowieso nicht kompiliert ...)?
Schließlich habe ich die offizielle Dokumentation gefunden, entweder wurde sie kürzlich hinzugefügt, oder sie ist gut versteckt, so dass ich sie vorher nicht gesehen habe:
Leider kann ich auch keine erschöpfende Antwort finden, aber einige Beobachtungen:
Sicher ist es möglich, eine Konfigurationsdatei zu verwenden:
boost :: log :: init_from_stream (std :: basic_istream & lt; CharT & gt; & amp;)
Beispiel für die Datei (aus Boost log severity_logger init_from_stream ) :
%Vor%Über den folgenden Link können Sie weitere gültige Einstellungsschlüssel und -werte identifizieren (z. B. Ziel = Textdatei, Filter =, AutoFlush =, Dateiname =)
Konstanten in boost's parser_utils.hpp geben eine andere Idee von Schlüsselwörtern, die standardmäßig von der Konfigurationsdatei unterstützt werden (zB Abschnitt [Core] mit Schlüssel DisableLogging).
Hier werden die Einstellungen für benutzerdefinierte Typen beschrieben (mit einem entsprechenden Ausschnitt der Konfigurationsdatei am Ende der Seite):
Mir scheint, dass es schwierig ist, eine Beschreibung der Konfigurationsdateieinträge zu finden, da die gültigen Einträge aus dem Quellcode stammen, der die Senken, Filter usw. implementiert. Diese Implementierung kann sogar benutzerdefiniert sein, so dass es unmöglich ist Geben Sie eine explizite Konfigurationsformatbeschreibung ein.
Vielleicht können Sie versuchen, Ihre Konfiguration auf programmatische Weise zu erstellen, und wenn Sie sie in die Form der Konfigurationsdatei umwandeln, können Sie separate Fragen für die bestimmten Eigenschaften öffnen, die Sie nicht herausfinden können, wie Sie sie einstellen.
Tags und Links configuration c++ logging boost