QMessageLogContext : enrichir avec une information sur le module concerné
Bonjour,
Je cherche à exploiter les traces Qt pour déboguer une application en ajoutant comme information le module concerné.
J'ai alors regarder du côté de qInstallMessageHandler() pour enrichir l'information issue des macros qDebug, qWarning, qCritical et qFatal en définissant ma propre méthode qui répond à la signature imposée.
Seulement, le QMessageLogContext à partir duquel on peut récupérer des informations comme la ligne ou la fonction n'est pas fait pour contenir le module.
Que faire alors ?
1) Utiliser le paramètre category de QMessageLogger pour écrire dedans le module et donc ne pas passer par les macros qDebug, [...], qui n'exploitent pas ce paramètre pour les traces ?
Code:
1 2 3 4
| #define qDebug QMessageLogger(__FILE__, __LINE__, Q_FUNC_INFO).debug
#define qWarning QMessageLogger(__FILE__, __LINE__, Q_FUNC_INFO).warning
#define qCritical QMessageLogger(__FILE__, __LINE__, Q_FUNC_INFO).critical
#define qFatal QMessageLogger(__FILE__, __LINE__, Q_FUNC_INFO).fatal |
2) Se détacher du système offert par Qt et ne pas utiliser QtMessageHandler ?
3) Autre idée ?
Merci ;)