From bec39369f7a37997f2f165b2728cf8d13e51ed7b Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Fri, 20 Apr 2018 12:01:40 -0700 Subject: [PATCH 1/4] remove some uncatagorized logging, suppress some categories by default --- interface/src/Application.cpp | 45 ++++++++++++++++++- interface/src/Application.h | 2 + interface/src/ConnectionMonitor.cpp | 2 - interface/src/scripting/AudioDevices.cpp | 3 -- interface/src/ui/DialogsManager.cpp | 1 - libraries/fbx/src/FBXReader.cpp | 2 - libraries/script-engine/src/ScriptEngines.cpp | 1 - libraries/shared/src/shared/MiniPromises.cpp | 1 - libraries/shared/src/shared/Storage.cpp | 4 +- libraries/ui/src/ui/OffscreenQmlSurface.cpp | 2 +- 10 files changed, 49 insertions(+), 14 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index dc680a86f6..363c3c23a9 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -145,6 +145,14 @@ #include #include +#include +#include +#include +#include +#include +#include +#include + #include "AudioClient.h" #include "audio/AudioScope.h" #include "avatar/AvatarManager.h" @@ -1416,6 +1424,42 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer, bo _overlays.init(); // do this before scripts load DependencyManager::set(); + // by default, suppress some of the logging + if (_verboseLoggin) { + const_cast(&animation())->setEnabled(QtDebugMsg, false); + const_cast(&animation())->setEnabled(QtInfoMsg, false); + + const_cast(&avatars())->setEnabled(QtDebugMsg, false); + const_cast(&avatars())->setEnabled(QtInfoMsg, false); + + const_cast(&scriptengine())->setEnabled(QtDebugMsg, false); + const_cast(&scriptengine())->setEnabled(QtInfoMsg, false); + + const_cast(&modelformat())->setEnabled(QtDebugMsg, false); + const_cast(&modelformat())->setEnabled(QtInfoMsg, false); + + const_cast(&controllers())->setEnabled(QtDebugMsg, false); + const_cast(&controllers())->setEnabled(QtInfoMsg, false); + + const_cast(&resourceLog())->setEnabled(QtDebugMsg, false); + const_cast(&resourceLog())->setEnabled(QtInfoMsg, false); + + const_cast(&networking())->setEnabled(QtDebugMsg, false); + const_cast(&networking())->setEnabled(QtInfoMsg, false); + + const_cast(&asset_client())->setEnabled(QtDebugMsg, false); + const_cast(&asset_client())->setEnabled(QtInfoMsg, false); + + // const_cast(&entity_script_client())->setEnabled(QtDebugMsg, false); + // const_cast(&entity_script_client())->setEnabled(QtInfoMsg, false); + + const_cast(&messages_client())->setEnabled(QtDebugMsg, false); + const_cast(&messages_client())->setEnabled(QtInfoMsg, false); + + const_cast(&storagelogging())->setEnabled(QtDebugMsg, false); + const_cast(&storagelogging())->setEnabled(QtInfoMsg, false); + } + // Make sure we don't time out during slow operations at startup updateHeartbeat(); @@ -2999,7 +3043,6 @@ void Application::handleSandboxStatus(QNetworkReply* reply) { PROFILE_RANGE(render, __FUNCTION__); bool sandboxIsRunning = SandboxUtils::readStatus(reply->readAll()); - qDebug() << "HandleSandboxStatus" << sandboxIsRunning; enum HandControllerType { Vive, diff --git a/interface/src/Application.h b/interface/src/Application.h index 769658b0d6..cdc2d1eed6 100644 --- a/interface/src/Application.h +++ b/interface/src/Application.h @@ -718,5 +718,7 @@ private: std::atomic _pendingIdleEvent { true }; std::atomic _pendingRenderEvent { true }; + + bool _verboseLogging { false }; }; #endif // hifi_Application_h diff --git a/interface/src/ConnectionMonitor.cpp b/interface/src/ConnectionMonitor.cpp index fcb1908994..8deddbda82 100644 --- a/interface/src/ConnectionMonitor.cpp +++ b/interface/src/ConnectionMonitor.cpp @@ -43,12 +43,10 @@ void ConnectionMonitor::init() { } void ConnectionMonitor::startTimer() { - qDebug() << "ConnectionMonitor: Starting timer"; _timer.start(DISPLAY_AFTER_DISCONNECTED_FOR_X_MS); } void ConnectionMonitor::stopTimer() { - qDebug() << "ConnectionMonitor: Stopping timer"; _timer.stop(); DependencyManager::get()->setDomainConnectionFailureVisibility(false); } diff --git a/interface/src/scripting/AudioDevices.cpp b/interface/src/scripting/AudioDevices.cpp index ee615cde20..a3c80bf1b6 100644 --- a/interface/src/scripting/AudioDevices.cpp +++ b/interface/src/scripting/AudioDevices.cpp @@ -108,11 +108,9 @@ AudioDeviceList::~AudioDeviceList() { // store the selected device foreach(std::shared_ptr adevice, _devices) { if (adevice->selectedDesktop) { - qDebug() << "Saving Desktop for" << _mode << "name" << adevice->info.deviceName(); settingDesktop.set(adevice->info.deviceName()); } if (adevice->selectedHMD) { - qDebug() << "Saving HMD for" << _mode << "name" << adevice->info.deviceName(); settingHMD.set(adevice->info.deviceName()); } } @@ -311,7 +309,6 @@ void AudioDeviceList::onDevicesChanged(const QList& devices) { } } - qDebug() << "adding audio device:" << device.display << device.selectedDesktop << device.selectedHMD << _mode; newDevices.push_back(newDevice(device)); } diff --git a/interface/src/ui/DialogsManager.cpp b/interface/src/ui/DialogsManager.cpp index 310a4cc1cd..d01e7d6671 100644 --- a/interface/src/ui/DialogsManager.cpp +++ b/interface/src/ui/DialogsManager.cpp @@ -80,7 +80,6 @@ void DialogsManager::showFeed() { } void DialogsManager::setDomainConnectionFailureVisibility(bool visible) { - qDebug() << "DialogsManager::setDomainConnectionFailureVisibility: visible" << visible; auto tabletScriptingInterface = DependencyManager::get(); auto tablet = dynamic_cast(tabletScriptingInterface->getTablet("com.highfidelity.interface.tablet.system")); diff --git a/libraries/fbx/src/FBXReader.cpp b/libraries/fbx/src/FBXReader.cpp index 1e59646795..86422ef70c 100644 --- a/libraries/fbx/src/FBXReader.cpp +++ b/libraries/fbx/src/FBXReader.cpp @@ -996,14 +996,12 @@ FBXGeometry* FBXReader::extractFBXGeometry(const QVariantHash& mapping, const QS QByteArray filename = subobject.properties.at(0).toByteArray(); QByteArray filepath = filename.replace('\\', '/'); filename = fileOnUrl(filepath, url); - qDebug() << "Filename" << filepath << filename; _textureFilepaths.insert(getID(object.properties), filepath); _textureFilenames.insert(getID(object.properties), filename); } else if (subobject.name == "TextureName" && subobject.properties.length() >= TEXTURE_NAME_MIN_SIZE) { // trim the name from the timestamp QString name = QString(subobject.properties.at(0).toByteArray()); name = name.left(name.indexOf('[')); - qDebug() << "Filename" << name; _textureNames.insert(getID(object.properties), name); } else if (subobject.name == "Texture_Alpha_Source" && subobject.properties.length() >= TEXTURE_ALPHA_SOURCE_MIN_SIZE) { tex.assign(tex.alphaSource, subobject.properties.at(0).value()); diff --git a/libraries/script-engine/src/ScriptEngines.cpp b/libraries/script-engine/src/ScriptEngines.cpp index 871705d74b..66cf42fb8a 100644 --- a/libraries/script-engine/src/ScriptEngines.cpp +++ b/libraries/script-engine/src/ScriptEngines.cpp @@ -538,7 +538,6 @@ int ScriptEngines::runScriptInitializers(ScriptEnginePointer scriptEngine) { int ii=0; for (auto initializer : _scriptInitializers) { ii++; - qDebug() << "initializer" << ii; initializer(scriptEngine); } return ii; diff --git a/libraries/shared/src/shared/MiniPromises.cpp b/libraries/shared/src/shared/MiniPromises.cpp index bb78852c29..21a3f44d50 100644 --- a/libraries/shared/src/shared/MiniPromises.cpp +++ b/libraries/shared/src/shared/MiniPromises.cpp @@ -22,6 +22,5 @@ namespace { } void MiniPromise::registerMetaTypes(QObject* engine) { auto scriptEngine = qobject_cast(engine); - qDebug() << "----------------------- MiniPromise::registerMetaTypes ------------" << scriptEngine; qScriptRegisterMetaType(scriptEngine, promiseToScriptValue, promiseFromScriptValue); } diff --git a/libraries/shared/src/shared/Storage.cpp b/libraries/shared/src/shared/Storage.cpp index 8fe1454242..b983213e4a 100644 --- a/libraries/shared/src/shared/Storage.cpp +++ b/libraries/shared/src/shared/Storage.cpp @@ -10,7 +10,7 @@ #include #include -#include +#include "StorageLogging.h" Q_LOGGING_CATEGORY(storagelogging, "hifi.core.storage") @@ -102,4 +102,4 @@ FileStorage::~FileStorage() { if (_file.isOpen()) { _file.close(); } -} \ No newline at end of file +} diff --git a/libraries/ui/src/ui/OffscreenQmlSurface.cpp b/libraries/ui/src/ui/OffscreenQmlSurface.cpp index 43b573a169..ac4194ed55 100644 --- a/libraries/ui/src/ui/OffscreenQmlSurface.cpp +++ b/libraries/ui/src/ui/OffscreenQmlSurface.cpp @@ -102,7 +102,7 @@ class AudioHandler : public QObject, QRunnable { public: AudioHandler(OffscreenQmlSurface* surface, const QString& deviceName, QObject* parent = nullptr); - virtual ~AudioHandler() { qDebug() << "Audio Handler Destroyed"; } + virtual ~AudioHandler() { } void run() override; From 6fc02638d74e5fe0a069fd40ef2713526c4cc215 Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Fri, 20 Apr 2018 15:06:11 -0700 Subject: [PATCH 2/4] control verbose logging with a menu-item in developer menu --- interface/src/Application.cpp | 82 +++++++++++-------- interface/src/Application.h | 4 +- interface/src/Menu.cpp | 3 + interface/src/Menu.h | 1 + .../networking/src/EntityScriptClient.cpp | 2 - libraries/networking/src/NetworkLogging.h | 1 - libraries/ui/src/ui/Logging.h | 4 +- 7 files changed, 55 insertions(+), 42 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 363c3c23a9..3087c0cb71 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -152,6 +152,8 @@ #include #include #include +#include +#include #include "AudioClient.h" #include "audio/AudioScope.h" @@ -1424,41 +1426,8 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer, bo _overlays.init(); // do this before scripts load DependencyManager::set(); - // by default, suppress some of the logging - if (_verboseLoggin) { - const_cast(&animation())->setEnabled(QtDebugMsg, false); - const_cast(&animation())->setEnabled(QtInfoMsg, false); - - const_cast(&avatars())->setEnabled(QtDebugMsg, false); - const_cast(&avatars())->setEnabled(QtInfoMsg, false); - - const_cast(&scriptengine())->setEnabled(QtDebugMsg, false); - const_cast(&scriptengine())->setEnabled(QtInfoMsg, false); - - const_cast(&modelformat())->setEnabled(QtDebugMsg, false); - const_cast(&modelformat())->setEnabled(QtInfoMsg, false); - - const_cast(&controllers())->setEnabled(QtDebugMsg, false); - const_cast(&controllers())->setEnabled(QtInfoMsg, false); - - const_cast(&resourceLog())->setEnabled(QtDebugMsg, false); - const_cast(&resourceLog())->setEnabled(QtInfoMsg, false); - - const_cast(&networking())->setEnabled(QtDebugMsg, false); - const_cast(&networking())->setEnabled(QtInfoMsg, false); - - const_cast(&asset_client())->setEnabled(QtDebugMsg, false); - const_cast(&asset_client())->setEnabled(QtInfoMsg, false); - - // const_cast(&entity_script_client())->setEnabled(QtDebugMsg, false); - // const_cast(&entity_script_client())->setEnabled(QtInfoMsg, false); - - const_cast(&messages_client())->setEnabled(QtDebugMsg, false); - const_cast(&messages_client())->setEnabled(QtInfoMsg, false); - - const_cast(&storagelogging())->setEnabled(QtDebugMsg, false); - const_cast(&storagelogging())->setEnabled(QtInfoMsg, false); - } + // adjust which logging categories will be sent to the logs + updateVerboseLogging(); // Make sure we don't time out during slow operations at startup updateHeartbeat(); @@ -2181,6 +2150,49 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer, bo qCDebug(interfaceapp) << "Metaverse session ID is" << uuidStringWithoutCurlyBraces(accountManager->getSessionID()); } +void Application::updateVerboseLogging() { + bool enable = Menu::getInstance()->isOptionChecked(MenuOption::VerboseLogging); + + const_cast(&animation())->setEnabled(QtDebugMsg, enable); + const_cast(&animation())->setEnabled(QtInfoMsg, enable); + + const_cast(&avatars())->setEnabled(QtDebugMsg, enable); + const_cast(&avatars())->setEnabled(QtInfoMsg, enable); + + const_cast(&scriptengine())->setEnabled(QtDebugMsg, enable); + const_cast(&scriptengine())->setEnabled(QtInfoMsg, enable); + + const_cast(&scriptengine())->setEnabled(QtDebugMsg, enable); + const_cast(&scriptengine())->setEnabled(QtInfoMsg, enable); + + const_cast(&modelformat())->setEnabled(QtDebugMsg, enable); + const_cast(&modelformat())->setEnabled(QtInfoMsg, enable); + + const_cast(&controllers())->setEnabled(QtDebugMsg, enable); + const_cast(&controllers())->setEnabled(QtInfoMsg, enable); + + const_cast(&resourceLog())->setEnabled(QtDebugMsg, enable); + const_cast(&resourceLog())->setEnabled(QtInfoMsg, enable); + + const_cast(&networking())->setEnabled(QtDebugMsg, enable); + const_cast(&networking())->setEnabled(QtInfoMsg, enable); + + const_cast(&asset_client())->setEnabled(QtDebugMsg, enable); + const_cast(&asset_client())->setEnabled(QtInfoMsg, enable); + + const_cast(&messages_client())->setEnabled(QtDebugMsg, enable); + const_cast(&messages_client())->setEnabled(QtInfoMsg, enable); + + const_cast(&storagelogging())->setEnabled(QtDebugMsg, enable); + const_cast(&storagelogging())->setEnabled(QtInfoMsg, enable); + + const_cast(&uiLogging())->setEnabled(QtDebugMsg, enable); + const_cast(&uiLogging())->setEnabled(QtInfoMsg, enable); + + const_cast(&glLogging())->setEnabled(QtDebugMsg, enable); + const_cast(&glLogging())->setEnabled(QtInfoMsg, enable); +} + void Application::domainConnectionRefused(const QString& reasonMessage, int reasonCodeInt, const QString& extraInfo) { DomainHandler::ConnectionRefusedReason reasonCode = static_cast(reasonCodeInt); diff --git a/interface/src/Application.h b/interface/src/Application.h index cdc2d1eed6..eedc5e17ee 100644 --- a/interface/src/Application.h +++ b/interface/src/Application.h @@ -398,6 +398,8 @@ public slots: Q_INVOKABLE bool askBeforeSetAvatarUrl(const QString& avatarUrl) { return askToSetAvatarUrl(avatarUrl); } + void updateVerboseLogging(); + private slots: void onDesktopRootItemCreated(QQuickItem* qmlContext); void onDesktopRootContextCreated(QQmlContext* qmlContext); @@ -718,7 +720,5 @@ private: std::atomic _pendingIdleEvent { true }; std::atomic _pendingRenderEvent { true }; - - bool _verboseLogging { false }; }; #endif // hifi_Application_h diff --git a/interface/src/Menu.cpp b/interface/src/Menu.cpp index 4384635147..50ff65ad1a 100644 --- a/interface/src/Menu.cpp +++ b/interface/src/Menu.cpp @@ -810,6 +810,9 @@ Menu::Menu() { scriptEngines->loadScript(defaultScriptsLoc.toString()); }); + addCheckableActionToQMenuAndActionHash(developerMenu, MenuOption::VerboseLogging, 0, false, + qApp, SLOT(updateVerboseLogging())); + #if 0 /// -------------- REMOVED FOR NOW -------------- addDisabledActionAndSeparator(navigateMenu, "History"); QAction* backAction = addActionToQMenuAndActionHash(navigateMenu, MenuOption::Back, 0, addressManager.data(), SLOT(goBack())); diff --git a/interface/src/Menu.h b/interface/src/Menu.h index bba70a6a89..c8c8ee42df 100644 --- a/interface/src/Menu.h +++ b/interface/src/Menu.h @@ -142,6 +142,7 @@ namespace MenuOption { const QString Pair = "Pair"; const QString PhysicsShowHulls = "Draw Collision Shapes"; const QString PhysicsShowOwned = "Highlight Simulation Ownership"; + const QString VerboseLogging = "Verbose Logging"; const QString PipelineWarnings = "Log Render Pipeline Warnings"; const QString Preferences = "General..."; const QString Quit = "Quit"; diff --git a/libraries/networking/src/EntityScriptClient.cpp b/libraries/networking/src/EntityScriptClient.cpp index 75ae7369fb..1eab5bf2d7 100644 --- a/libraries/networking/src/EntityScriptClient.cpp +++ b/libraries/networking/src/EntityScriptClient.cpp @@ -192,8 +192,6 @@ void EntityScriptClient::handleNodeClientConnectionReset(SharedNodePointer node) return; } - //qCDebug(entity_script_client) << "EntityScriptClient detected client connection reset handshake with Asset Server - failing any pending requests"; - forceFailureOfPendingRequests(node); } diff --git a/libraries/networking/src/NetworkLogging.h b/libraries/networking/src/NetworkLogging.h index 518c600efe..30116ff405 100644 --- a/libraries/networking/src/NetworkLogging.h +++ b/libraries/networking/src/NetworkLogging.h @@ -17,7 +17,6 @@ Q_DECLARE_LOGGING_CATEGORY(resourceLog) Q_DECLARE_LOGGING_CATEGORY(networking) Q_DECLARE_LOGGING_CATEGORY(asset_client) -Q_DECLARE_LOGGING_CATEGORY(entity_script_client) Q_DECLARE_LOGGING_CATEGORY(messages_client) #endif // hifi_NetworkLogging_h diff --git a/libraries/ui/src/ui/Logging.h b/libraries/ui/src/ui/Logging.h index 6d31b0e86a..dd14268dba 100644 --- a/libraries/ui/src/ui/Logging.h +++ b/libraries/ui/src/ui/Logging.h @@ -6,8 +6,8 @@ // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html // -#ifndef hifi_Controllers_Logging_h -#define hifi_Controllers_Logging_h +#ifndef hifi_UI_Logging_h +#define hifi_UI_Logging_h #include From 84e71a9bca36eb81f1607ad6ba5cb7976532c9c4 Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Fri, 20 Apr 2018 15:06:53 -0700 Subject: [PATCH 3/4] missed a file --- libraries/shared/src/shared/StorageLogging.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 libraries/shared/src/shared/StorageLogging.h diff --git a/libraries/shared/src/shared/StorageLogging.h b/libraries/shared/src/shared/StorageLogging.h new file mode 100644 index 0000000000..33d89411bd --- /dev/null +++ b/libraries/shared/src/shared/StorageLogging.h @@ -0,0 +1,18 @@ +// +// StorageLogging.h +// +// Created by Seth Alves on 2018-4-20 +// Copyright 2018 High Fidelity, Inc. +// +// Distributed under the Apache License, Version 2.0. +// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html +// + +#ifndef hifi_StorageLogging_h +#define hifi_StorageLogging_h + +#include + +Q_DECLARE_LOGGING_CATEGORY(storagelogging) + +#endif // hifi_StorageLogging_h From 1dbcbbccedf10d19956677e3416d13c3850b8049 Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Mon, 23 Apr 2018 11:05:06 -0700 Subject: [PATCH 4/4] cleanups --- interface/src/Application.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 3087c0cb71..89b4d1d2d4 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -1288,6 +1288,8 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer, bo // Needs to happen AFTER the render engine initialization to access its configuration initializeUi(); + updateVerboseLogging(); + init(); qCDebug(interfaceapp, "init() complete."); @@ -1426,9 +1428,6 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer, bo _overlays.init(); // do this before scripts load DependencyManager::set(); - // adjust which logging categories will be sent to the logs - updateVerboseLogging(); - // Make sure we don't time out during slow operations at startup updateHeartbeat(); @@ -2162,9 +2161,6 @@ void Application::updateVerboseLogging() { const_cast(&scriptengine())->setEnabled(QtDebugMsg, enable); const_cast(&scriptengine())->setEnabled(QtInfoMsg, enable); - const_cast(&scriptengine())->setEnabled(QtDebugMsg, enable); - const_cast(&scriptengine())->setEnabled(QtInfoMsg, enable); - const_cast(&modelformat())->setEnabled(QtDebugMsg, enable); const_cast(&modelformat())->setEnabled(QtInfoMsg, enable);