aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Schulz <david.schulz@qt.io>2021-11-09 15:12:04 +0100
committerDavid Schulz <david.schulz@qt.io>2021-11-10 08:18:50 +0000
commitd511f1798adb8f67a3aef724cf90b6af277b8acb (patch)
tree7a9181945af622d83de1f78a4a0bc3db915d3da5
parentc8e4b32ee1a39a1ff93aa35e67c533888e63ddaf (diff)
LanguageClient: add logging to the manager
Change-Id: I953ffd8f281702c3032ce48cd620dcac983b5b25 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
-rw-r--r--src/plugins/languageclient/languageclientmanager.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/plugins/languageclient/languageclientmanager.cpp b/src/plugins/languageclient/languageclientmanager.cpp
index 63a4f1c9da..f4b4439dae 100644
--- a/src/plugins/languageclient/languageclientmanager.cpp
+++ b/src/plugins/languageclient/languageclientmanager.cpp
@@ -53,6 +53,8 @@ using namespace LanguageServerProtocol;
namespace LanguageClient {
+static Q_LOGGING_CATEGORY(Log, "qtc.languageclient.manager", QtWarningMsg)
+
static LanguageClientManager *managerInstance = nullptr;
LanguageClientManager::LanguageClientManager(QObject *parent)
@@ -111,6 +113,7 @@ void LanguageClient::LanguageClientManager::addClient(Client *client)
if (managerInstance->m_clients.contains(client))
return;
+ qCDebug(Log) << "add client: " << client->name() << client;
managerInstance->m_clients << client;
connect(client, &Client::finished, managerInstance, [client]() { clientFinished(client); });
connect(client,
@@ -130,6 +133,7 @@ void LanguageClient::LanguageClientManager::addClient(Client *client)
void LanguageClientManager::clientStarted(Client *client)
{
+ qCDebug(Log) << "client started: " << client->name() << client;
QTC_ASSERT(managerInstance, return);
QTC_ASSERT(client, return);
if (managerInstance->m_shuttingDown)
@@ -150,6 +154,7 @@ void LanguageClientManager::clientFinished(Client *client)
const QList<TextEditor::TextDocument *> &clientDocs
= managerInstance->m_clientForDocument.keys(client);
if (client->reset()) {
+ qCDebug(Log) << "restart unexpectedly finished client: " << client->name() << client;
client->disconnect(managerInstance);
client->log(
tr("Unexpectedly finished. Restarting in %1 seconds.").arg(restartTimeoutS));
@@ -158,6 +163,7 @@ void LanguageClientManager::clientFinished(Client *client)
client->deactivateDocument(document);
return;
}
+ qCDebug(Log) << "client finished unexpectedly: " << client->name() << client;
client->log(tr("Unexpectedly finished."));
for (TextEditor::TextDocument *document : clientDocs)
managerInstance->m_clientForDocument.remove(document);
@@ -174,6 +180,7 @@ Client *LanguageClientManager::startClient(BaseSettings *setting, ProjectExplore
QTC_ASSERT(setting, return nullptr);
QTC_ASSERT(setting->isValid(), return nullptr);
Client *client = setting->createClient(project);
+ qCDebug(Log) << "start client: " << client->name() << client;
QTC_ASSERT(client, return nullptr);
client->start();
managerInstance->m_clientsForSetting[setting->m_id].append(client);
@@ -206,6 +213,7 @@ void LanguageClientManager::shutdownClient(Client *client)
{
if (!client)
return;
+ qCDebug(Log) << "request client shutdown: " << client->name() << client;
// reset the documents for that client already when requesting the shutdown so they can get
// reassigned to another server right after this request to another server
for (TextEditor::TextDocument *document : managerInstance->m_clientForDocument.keys(client))
@@ -220,6 +228,7 @@ void LanguageClientManager::deleteClient(Client *client)
{
QTC_ASSERT(managerInstance, return);
QTC_ASSERT(client, return);
+ qCDebug(Log) << "delete client: " << client->name() << client;
client->disconnect();
managerInstance->m_clients.removeAll(client);
for (QVector<Client *> &clients : managerInstance->m_clientsForSetting)
@@ -237,6 +246,7 @@ void LanguageClientManager::shutdown()
QTC_ASSERT(managerInstance, return);
if (managerInstance->m_shuttingDown)
return;
+ qCDebug(Log) << "shutdown manager";
managerInstance->m_shuttingDown = true;
for (Client *client : qAsConst(managerInstance->m_clients))
shutdownClient(client);
@@ -412,6 +422,7 @@ void LanguageClientManager::openDocumentWithClient(TextEditor::TextDocument *doc
currentClient->deactivateDocument(document);
managerInstance->m_clientForDocument[document] = client;
if (client) {
+ qCDebug(Log) << "open" << document->filePath() << "with" << client->name() << client;
if (!client->documentOpen(document))
client->openDocument(document);
else