[SailfishDevel] how to get qml debug output to file
Tero Siironen
tero.siironen at iki.fi
Tue Feb 4 21:08:47 UTC 2014
Hi,
I’ve been using qInstallMsgHandler earlier with Harmattan to get debug prints from c++ and qml to a file. Now that I’m trying to do the same with Sailfish and Qt5 using qInstallMessageHandler, I get only c++ prints to file, qml prints are shown in console or qtcreator. Debug printer is installed as first line in the main:
Q_DECL_EXPORT int main(int argc, char * argv[])
{
qInstallMessageHandler(DebugPrinter);
…
and the debug printer itself is like this:
void DebugPrinter(QtMsgType type, const QMessageLogContext &context, const QString &msg)
{
QString txt;
switch (type) {
case QtDebugMsg:
txt = QString("Debug: %1").arg(msg);
break;
case QtWarningMsg:
txt = QString("Warning: %1").arg(msg);
break;
case QtCriticalMsg:
txt = QString("Critical: %1").arg(msg);
break;
case QtFatalMsg:
txt = QString("Fatal: %1").arg(msg);
abort();
}
QDir homePath = QDir::homePath();
QString dbFilePath = homePath.absolutePath();
dbFilePath.append( "/" + DEBUGLOG );
QFile outFile( dbFilePath );
outFile.open(QIODevice::WriteOnly | QIODevice::Append);
QTextStream ts(&outFile);
ts << txt << endl;
}
So what am I doing wrong here?
—
Tero
More information about the Devel
mailing list