Bonjour,
Je travaille actuellement sur un projet assez conséquent et j'aimerais avoir un ou plusieur(s) fichier(s) de log lors de l'exécution de mon code.
Cela marche assez bien avec une macro à nombre variable d'argument (à l'image de printf) mais j'aimerais à tout prix éviter ce genre de fonction, beaucoup trop dangereux et super chiant à debuguer s'il y a plus de "%x" que d'arguments.
Bref, j'ai beau retourner le problème dans tous les sens, j'aimerais bien pouvoir écrire un truc du genre:
TRACE(int level, "maClass a l'id:" << id);
(En sachant que les arguments peuvent être un petit peu tout et pas que des chiffres).
J'ai comme exigence que ça ne s'écrive pas sur plus d'une ligne, il faut que ça reste simple.
J'ai trouvé quelques librairies sympas, QsLog pour ne pas la nommer, qui permet d'écrire un truc du genre:
QLOG_TRACE() << "maClass a l'id" << id;
Si c'est la meilleure solution pour mon cas (selon vos avis), j'aimerais bien définir ma propre macro qui aurait un fonctionnement similaire à celle ci. Le problème est que, même avec le code source, je ne comprends pas du tout comment ça fonctionne avec cette histoire de flux, et copier coller du code sans le comprendre, c'est pas super bénéfique
Si quelqu'un a des explications à me fournir, ou un lien qui expliquerait comment construire ce genre de mécanisme, je suis tout ouïe !
Bonne après midi !
Partager