J'ai un problème avec QLoggingCategory (const char * category).Qt 5 Logging - catégorie definig avec QLoggingCategory
Quand je l'utilise comme:
QString rt = "3";
QString sv = "P";
QLoggingCategory dailyLogger(QString(rt+sv+"Logger").toStdString().c_str());
il ne fonctionne pas (mon gestionnaire de message personnalisé ne reconnaît pas cette catégorie).
Mais quand je l'utilise:
gestionnaire de messagesQLoggingCategory dailyLogger("3PLogger");
voit la catégorie.
Voici la fonction de gestionnaire:
void myMessageOutput(QtMsgType type, const QMessageLogContext &context, const QString &msg)
{
if (QString(context.category).contains("3"))
{
//some code
}
}
Pourquoi mon nom de la catégorie calculée fonctionne pas?
Possible, car 'QString (rt + sv +" Logger "). ToStdString(). C_str()' - est un rvalue et il sera invalide à la prochaine ligne de code. –