diff --git a/src/libs/languageserverprotocol/basemessage.cpp b/src/libs/languageserverprotocol/basemessage.cpp index 1ee17e3eee3..950976549e3 100644 --- a/src/libs/languageserverprotocol/basemessage.cpp +++ b/src/libs/languageserverprotocol/basemessage.cpp @@ -37,6 +37,8 @@ namespace LanguageServerProtocol { +Q_LOGGING_CATEGORY(parseLog, "qtc.languageserverprotocol.parse", QtWarningMsg) + BaseMessage::BaseMessage() : mimeType(JsonRpcMessageHandler::jsonRpcMimeType()) { } @@ -68,8 +70,7 @@ bool BaseMessage::operator==(const BaseMessage &other) const return true; } -static QPair splitHeaderFieldLine( - const QByteArray &headerFieldLine, QString &parseError) +static QPair splitHeaderFieldLine(const QByteArray &headerFieldLine) { static const int fieldSeparatorLength = int(std::strlen(headerFieldSeparator)); int assignmentIndex = headerFieldLine.indexOf(headerFieldSeparator); @@ -77,8 +78,7 @@ static QPair splitHeaderFieldLine( return {headerFieldLine.mid(0, assignmentIndex), headerFieldLine.mid(assignmentIndex + fieldSeparatorLength)}; } - parseError = BaseMessage::tr("Unexpected header line \"%1\".") - .arg(QLatin1String(headerFieldLine)); + qCWarning(parseLog) << "Unexpected header line:" << QLatin1String(headerFieldLine); return {}; } @@ -134,8 +134,7 @@ void BaseMessage::parse(QBuffer *data, QString &parseError, BaseMessage &message message.content = data->read(message.contentLength); return; } - const QPair nameAndValue = - splitHeaderFieldLine(headerFieldLine, parseError); + const QPair nameAndValue = splitHeaderFieldLine(headerFieldLine); const QByteArray &headerFieldName = nameAndValue.first.trimmed(); const QByteArray &headerFieldValue = nameAndValue.second.trimmed(); @@ -146,9 +145,8 @@ void BaseMessage::parse(QBuffer *data, QString &parseError, BaseMessage &message } else if (headerFieldName == contentTypeFieldName) { parseContentType(message, headerFieldValue, parseError); } else { - parseError = tr("Unexpected header field \"%1\" in \"%2\".") - .arg(QLatin1String(headerFieldName), - QLatin1String(headerFieldLine)); + qCWarning(parseLog) << "Unexpected header field" << QLatin1String(headerFieldName) + << "in" << QLatin1String(headerFieldLine); } } diff --git a/src/libs/languageserverprotocol/basemessage.h b/src/libs/languageserverprotocol/basemessage.h index ba8238291ad..b2835aa7d74 100644 --- a/src/libs/languageserverprotocol/basemessage.h +++ b/src/libs/languageserverprotocol/basemessage.h @@ -31,6 +31,7 @@ #include #include +#include QT_BEGIN_NAMESPACE class QBuffer; @@ -39,6 +40,8 @@ QT_END_NAMESPACE namespace LanguageServerProtocol { +LANGUAGESERVERPROTOCOL_EXPORT Q_DECLARE_LOGGING_CATEGORY(parseLog) + class LANGUAGESERVERPROTOCOL_EXPORT BaseMessage { Q_DECLARE_TR_FUNCTIONS(BaseMessage) diff --git a/src/plugins/languageclient/languageclientinterface.cpp b/src/plugins/languageclient/languageclientinterface.cpp index 389ed0517f3..91d2562e672 100644 --- a/src/plugins/languageclient/languageclientinterface.cpp +++ b/src/plugins/languageclient/languageclientinterface.cpp @@ -35,7 +35,6 @@ using namespace LanguageServerProtocol; static Q_LOGGING_CATEGORY(LOGLSPCLIENTV, "qtc.languageclient.messages", QtWarningMsg); -static Q_LOGGING_CATEGORY(LOGLSPCLIENTPARSE, "qtc.languageclient.parse", QtWarningMsg); namespace LanguageClient { @@ -64,8 +63,8 @@ void BaseClientInterface::resetBuffer() void BaseClientInterface::parseData(const QByteArray &data) { const qint64 preWritePosition = m_buffer.pos(); - qCDebug(LOGLSPCLIENTPARSE) << "parse buffer pos: " << preWritePosition; - qCDebug(LOGLSPCLIENTPARSE) << " data: " << data; + qCDebug(parseLog) << "parse buffer pos: " << preWritePosition; + qCDebug(parseLog) << " data: " << data; if (!m_buffer.atEnd()) m_buffer.seek(preWritePosition + m_buffer.bytesAvailable()); m_buffer.write(data); @@ -73,9 +72,9 @@ void BaseClientInterface::parseData(const QByteArray &data) while (!m_buffer.atEnd()) { QString parseError; BaseMessage::parse(&m_buffer, parseError, m_currentMessage); - qCDebug(LOGLSPCLIENTPARSE) << " complete: " << m_currentMessage.isComplete(); - qCDebug(LOGLSPCLIENTPARSE) << " length: " << m_currentMessage.contentLength; - qCDebug(LOGLSPCLIENTPARSE) << " content: " << m_currentMessage.content; + qCDebug(parseLog) << " complete: " << m_currentMessage.isComplete(); + qCDebug(parseLog) << " length: " << m_currentMessage.contentLength; + qCDebug(parseLog) << " content: " << m_currentMessage.content; if (!parseError.isEmpty()) emit error(parseError); if (!m_currentMessage.isComplete())