Ich schreibe eine Bibliothek mit vielen Informationen, die in einem Protokoll des Programms, das sie verwendet, von Nutzen sein können, aber ich weiß nicht, wie ich sie am besten so verfügbar machen kann, dass das Programm, das meine Bibliothek verwendet, dies kann Integrieren Sie die Protokolle meiner Bibliothek nahtlos in die eigenen Protokolle (falls gewünscht).
Wenn Sie eine bestimmte Protokollierungsbibliothek für meine Bibliothek auswählen, wird die Liste der Abhängigkeiten für die Verwendung meiner Bibliothek erweitert und das Hauptprogramm an diese Bibliothek gebunden. Wenn dies vom Hauptprogramm mehrere Bibliotheken verwendet haben, könnte jede eine andere Bibliothek ausgewählt haben .
Ich habe darüber nachgedacht, dass das Programm ein C ++ - Stream-Objekt bei der Bibliothek registriert, damit es verwendet werden kann. Das scheint ein relativ allgemeiner Zweck zu sein, aber ich habe auch darüber nachgedacht, dass das Hauptprogramm nur eine Rückruffunktion registriert, die bei der Protokollierung der Daten mit den Inhalten und Metadaten aufgerufen wird. Eine andere Möglichkeit wäre, die Protokolldaten in der Bibliothek in einer Art Liste zu speichern, damit das Hauptprogramm sie abrufen kann, wann immer es mit diesen Daten umgehen möchte, damit das Hauptprogramm entscheiden kann, wann es Zeit hat, mit den Daten umzugehen.
Ich suche nach Vor- und Nachteilen verschiedener Ansätze, damit ich entscheiden kann, was in meiner Situation am besten ist.