From 56e6f8fdcc56eda7f0d008bb45a27400fe8d69d6 Mon Sep 17 00:00:00 2001 From: Felix Kauselmann Date: Sat, 25 Jul 2020 20:04:49 +0200 Subject: [PATCH] Allow setting YACReader loglevel from console --- YACReader/main.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/YACReader/main.cpp b/YACReader/main.cpp index 3236ea6f..ab8621a7 100644 --- a/YACReader/main.cpp +++ b/YACReader/main.cpp @@ -81,6 +81,7 @@ int main(int argc, char *argv[]) QCommandLineParser parser; parser.addHelpOption(); parser.addVersionOption(); + parser.addOption({ "loglevel", "Set log level. Valid values: trace, info, debug, warn, error.", "loglevel", "warning" }); parser.addPositionalArgument("[File|Directory]", "File or directory to open."); QCommandLineOption comicId("comicId", "", "comicId"); QCommandLineOption libraryId("libraryId", "", "libraryId"); @@ -104,6 +105,22 @@ int main(int argc, char *argv[]) Logger &logger = Logger::instance(); logger.setLoggingLevel(QsLogging::InfoLevel); + if (parser.isSet("loglevel")) { + if (parser.value("loglevel") == "trace") { + logger.setLoggingLevel(QsLogging::TraceLevel); + } else if (parser.value("loglevel") == "info") { + logger.setLoggingLevel(QsLogging::InfoLevel); + } else if (parser.value("loglevel") == "debug") { + logger.setLoggingLevel(QsLogging::DebugLevel); + } else if (parser.value("loglevel") == "warn") { + logger.setLoggingLevel(QsLogging::WarnLevel); + } else if (parser.value("loglevel") == "error") { + logger.setLoggingLevel(QsLogging::ErrorLevel); + } else { + parser.showHelp(); + } + } + DestinationPtrU fileDestination(DestinationFactory::MakeFileDestination( destLog, LogRotationOption::EnableLogRotation, MaxSizeBytes(1048576), MaxOldLogCount(2))); DestinationPtrU debugDestination(DestinationFactory::MakeDebugOutputDestination());