Sto scrivendo una libreria che ha molte informazioni che possono essere utili in un log nel programma che la usa, ma non conosco il modo migliore per esporla in modo tale che il programma usi la mia libreria può integrare i log della mia biblioteca con i propri registri in modo inequivocabile (se lo si desidera).
Scegliere una libreria di registrazione specifico per la mia biblioteca aggiunge alla lista delle dipendenze per usare la mia biblioteca e lega il programma principale di quella biblioteca - e se più librerie utilizzate dal programma principale ha fatto questo, ci potrebbero hanno ciascuno selezionato una libreria diversa.
Ho pensato di fare in modo che il programma registri un oggetto flusso C ++ con la libreria da usare. Sembra che sarebbe uno scopo relativamente generale, ma ho anche pensato che il programma principale avrebbe registrato una funzione di callback che sarebbe stata richiesta con i contenuti e i metadati quando i dati sono registrati. Un'altra opzione sarebbe semplicemente quella di archiviare i dati del registro nella libreria in una sorta di elenco per il programma principale da afferrare ogni volta che vuole trattare con quei dati, lasciando che il programma principale decida quando ha il tempo di trattare i dati.
Sto cercando suggerimenti e pro / contro di diversi approcci, così posso decidere cosa è meglio nella mia situazione.
Grazie.