Ich bin auf der Suche nach einer Möglichkeit, asynchrone und Thread-sichere Protokollierung in meinem C++-Projekt zu tun, wenn möglich in eine Datei. Ich verwende derzeit cerr
y clog
für die Aufgabe, aber da sie synchron sind, wird die Ausführung jedes Mal kurz unterbrochen, wenn etwas protokolliert wird. Da es sich um eine relativ grafiklastige Anwendung handelt, ist diese Art von Dingen ziemlich ärgerlich.
Der neue Logger sollte asynchrone E/A verwenden, um diese Pausen zu beseitigen. Thread-Sicherheit wäre auch wünschenswert, da ich beabsichtige, einige grundlegende Multithreading bald hinzufügen.
Ich habe einen Ansatz mit einer Datei pro Thread in Erwägung gezogen, aber das schien mir die Verwaltung der Protokolle zu einem Albtraum zu machen. Irgendwelche Vorschläge?