Question

Je suis un problème avec l'aide de Logging Boost bibliothèque , que si j'ajoute un ou formatter une destination à un enregistreur, en utilisant ma propre classe Log, je ne peux pas changer cette destination ou formatter.

Quelqu'un sait comment changer la destination ou sur un objet formatter journal de boost?

Le scénario que j'ai est que je veux un destination rel="nofollow"> différente

Le fait que les objets de journalisation sont l'application vraiment globale, de la macro ne l'aide pas vraiment.

Quelqu'un peut-il me donner quelques conseils sur la façon dont je peux créer un moyen flexible pour ajouter / supprimer des destinations à un enregistreur de boost :: exploitation forestière?

Était-ce utile?

La solution

Ok, voici ce que je voudrais essayer. Il peut travailler pour vous. Il semble que la bibliothèque d'enregistrement est adapté pour les bûcherons mondiaux, alors que vous êtes désireux d'utiliser les enregistreurs de fil local. Je regarde comment créer un enregistreur sur demande (à savoir directement), par exemple en analysant BOOST_DECLARE_LOG. Ensuite, vous pouvez déclarer une std::map<int, Logger> que vous utilisez pour la carte thread-id enregistreur spécifique. Probablement, vous pouvez créer votre propre classe wrapper qui gère cette manière transparente pour le code client. Ensuite, vous connectez simplement en utilisant votre propre couche d'enregistrement et de créer des enregistreurs spécifiques au thread en cas de besoin. Si vous avez besoin de les enlever après votre demande est terminée, vous pouvez ajouter une méthode pour le faire.

Hope this helps!

scroll top