From 4204056f2ea4a851645cd5785d91cc3348ac77f2 Mon Sep 17 00:00:00 2001 From: Dale Glass Date: Mon, 27 Jun 2022 20:07:31 +0200 Subject: [PATCH] Add --logOptions to domain server and assignment client --- assignment-client/src/AssignmentClientApp.cpp | 12 ++++++++++++ domain-server/src/DomainServer.cpp | 12 ++++++++++++ 2 files changed, 24 insertions(+) diff --git a/assignment-client/src/AssignmentClientApp.cpp b/assignment-client/src/AssignmentClientApp.cpp index 6f308095c8..36e44b82a6 100644 --- a/assignment-client/src/AssignmentClientApp.cpp +++ b/assignment-client/src/AssignmentClientApp.cpp @@ -107,6 +107,9 @@ AssignmentClientApp::AssignmentClientApp(int argc, char* argv[]) : const QCommandLineOption parentPIDOption(PARENT_PID_OPTION, "PID of the parent process", "parent-pid"); parser.addOption(parentPIDOption); + const QCommandLineOption logOption("logOptions", "Logging options, comma separated: color,nocolor,process_id,thread_id,milliseconds,keep_repeats,journald,nojournald", "options"); + parser.addOption(logOption); + if (!parser.parse(QCoreApplication::arguments())) { std::cout << parser.errorText().toStdString() << std::endl; // Avoid Qt log spam parser.showHelp(); @@ -123,6 +126,15 @@ AssignmentClientApp::AssignmentClientApp(int argc, char* argv[]) : Q_UNREACHABLE(); } + // We want to configure the logging system as early as possible + auto &logHandler = LogHandler::getInstance(); + if (parser.isSet(logOption)) { + if (!logHandler.parseOptions(parser.value(logOption).toUtf8())) { + parser.showHelp(); + Q_UNREACHABLE(); + } + } + const QVariantMap argumentVariantMap = HifiConfigVariantMap::mergeCLParametersWithJSONConfig(arguments()); unsigned int numForks = 0; diff --git a/domain-server/src/DomainServer.cpp b/domain-server/src/DomainServer.cpp index fa7298815e..1a139530fe 100644 --- a/domain-server/src/DomainServer.cpp +++ b/domain-server/src/DomainServer.cpp @@ -414,6 +414,9 @@ void DomainServer::parseCommandLine(int argc, char* argv[]) { const QCommandLineOption parentPIDOption(PARENT_PID_OPTION, "PID of the parent process", "parent-pid"); parser.addOption(parentPIDOption); + const QCommandLineOption logOption("logOptions", "Logging options, comma separated: color,nocolor,process_id,thread_id,milliseconds,keep_repeats,journald,nojournald", "options"); + parser.addOption(logOption); + QStringList arguments; for (int i = 0; i < argc; ++i) { @@ -436,6 +439,15 @@ void DomainServer::parseCommandLine(int argc, char* argv[]) { Q_UNREACHABLE(); } + // We want to configure the logging system as early as possible + auto &logHandler = LogHandler::getInstance(); + if (parser.isSet(logOption)) { + if (!logHandler.parseOptions(parser.value(logOption).toUtf8())) { + parser.showHelp(); + Q_UNREACHABLE(); + } + } + if (parser.isSet(iceServerAddressOption)) { // parse the IP and port combination for this target QString hostnamePortString = parser.value(iceServerAddressOption);