Начиная с Qt 5.6 и WebEngine в функции javaScriptConsoleMessage() доступны уровни логирования:
doc.qt.io/qt-5/qwebenginepage.html#javaScriptConso...
doc.qt.io/qt-5/qwebenginepage.html#JavaScriptConso...
Наследуетесь от QWebEnginePage, перегружаете javaScriptConsoleMessage() и используете так, как вам надо, как пример:
void WebEnginePage::javaScriptConsoleMessage(JavaScriptConsoleMessageLevel level,
const QString &message,
int lineNumber,
const QString &sourceID)
{
Q_UNUSED(lineNumber);
Q_UNUSED(sourceID);
switch (level) {
default:
case QWebEnginePage::InfoMessageLevel:
qDebug() << message;
break;
case QWebEnginePage::WarningMessageLevel:
qWarning() << message;
break;
case QWebEnginePage::ErrorMessageLevel:
qCritical() << message;
break;
}
}
P.S. У меня Qt 5.5.1, нет возможности проверить, но в документации сказано, мол: Since Qt 5.6, the default implementation logs the messages in a js
logging category. Так что возможно даже перегружать ничего не нужно будет.