Merge pull request #11494 from humbletim/add-console-output-basenames

[experiment/feedback] Include script name with all JS/QML debug output
This commit is contained in:
Brad Hefta-Gaub 2017-10-06 17:58:19 -07:00 committed by GitHub
commit 80f0bd3b79
2 changed files with 15 additions and 5 deletions

View file

@ -110,10 +110,13 @@ static QScriptValue debugPrint(QScriptContext* context, QScriptEngine* engine) {
}
message += context->argument(i).toString();
}
qCDebug(scriptengineScript).noquote() << message; // noquote() so that \n is treated as newline
if (ScriptEngine *scriptEngine = qobject_cast<ScriptEngine*>(engine)) {
scriptEngine->print(message);
// prefix the script engine name to help disambiguate messages in the main debug log
qCDebug(scriptengineScript, "[%s] %s", qUtf8Printable(scriptEngine->getFilename()), qUtf8Printable(message));
} else {
qCDebug(scriptengineScript, "%s", qUtf8Printable(message));
}
return QScriptValue();
@ -468,22 +471,22 @@ void ScriptEngine::loadURL(const QUrl& scriptURL, bool reload) {
}
void ScriptEngine::scriptErrorMessage(const QString& message) {
qCCritical(scriptengine) << qPrintable(message);
qCCritical(scriptengine, "[%s] %s", qUtf8Printable(getFilename()), qUtf8Printable(message));
emit errorMessage(message, getFilename());
}
void ScriptEngine::scriptWarningMessage(const QString& message) {
qCWarning(scriptengine) << qPrintable(message);
qCWarning(scriptengine, "[%s] %s", qUtf8Printable(getFilename()), qUtf8Printable(message));
emit warningMessage(message, getFilename());
}
void ScriptEngine::scriptInfoMessage(const QString& message) {
qCInfo(scriptengine) << qPrintable(message);
qCInfo(scriptengine, "[%s] %s", qUtf8Printable(getFilename()), qUtf8Printable(message));
emit infoMessage(message, getFilename());
}
void ScriptEngine::scriptPrintedMessage(const QString& message) {
qCDebug(scriptengine) << qPrintable(message);
qCDebug(scriptengine, "[%s] %s", qUtf8Printable(getFilename()), qUtf8Printable(message));
emit printedMessage(message, getFilename());
}

View file

@ -177,6 +177,13 @@ QString LogHandler::printMessage(LogMsgType type, const QMessageLogContext& cont
prefixString.append(QString(" [%1]").arg(_targetName));
}
// for [qml] console.* messages include an abbreviated source filename
if (context.category && context.file && !strcmp("qml", context.category)) {
if (const char* basename = strrchr(context.file, '/')) {
prefixString.append(QString(" [%1]").arg(basename+1));
}
}
QString logMessage = QString("%1 %2").arg(prefixString, message.split('\n').join('\n' + prefixString + " "));
fprintf(stdout, "%s\n", qPrintable(logMessage));
return logMessage;