J'ai besoin d'écrire une API de journalisation qui effectue la journalisation réelle sur un thread séparé.capturer une pile d'appels et l'exécuter dans un thread différent
C'est-à-dire que j'ai une application qui veut enregistrer des informations. Il appelle mon API et l'api capture tous les arguments, etc., puis envoie le tout à un thread séparé pour être connecté. L'API logger accepte des arguments variés et par conséquent mes premières pensées étaient de capturer toute la pile d'appels et de la transmettre d'une manière ou d'une autre au thread qui fera la journalisation.
Je suis raisonnablement heureux que je puisse capturer la pile d'appels. Cependant, je ne sais pas comment je passerais cette pile d'appels à une autre méthode. J'utilise g ++ sur linux et il peut aussi avoir besoin de travailler avec le CC v12 de Sun sur solaris.
Des idées.
Merci Frederik. C'est en effet la raison d'être de l'enregistreur fileté. Je veux que le lent travail du disque io se déroule sur un autre thread. J'ai essayé de copier la pile mais bien sûr cela signifie que tous les objets en cours de journalisation doivent être suffisamment longs pour être enregistrés. Je pense que vous êtes en train de construire la chaîne de journalisation au point d'appel, puis d'en faire une meilleure approche. – ScaryAardvark