diff --git a/YACReaderLibrary/main.cpp b/YACReaderLibrary/main.cpp index f69d3aa0..fb0fc244 100644 --- a/YACReaderLibrary/main.cpp +++ b/YACReaderLibrary/main.cpp @@ -135,8 +135,30 @@ 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.process(app); +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(); + } +} + #ifdef SERVER_RELEASE QSettings * settings = new QSettings(YACReader::getSettingsPath()+"/YACReaderLibrary.ini",QSettings::IniFormat); //TODO unificar la creaci�n del fichero de config con el servidor settings->beginGroup("libraryConfig"); diff --git a/YACReaderLibraryServer/main.cpp b/YACReaderLibraryServer/main.cpp index 82a6be71..455024c6 100644 --- a/YACReaderLibraryServer/main.cpp +++ b/YACReaderLibraryServer/main.cpp @@ -70,6 +70,7 @@ int main( int argc, char ** argv ) parser.addHelpOption(); const QCommandLineOption versionOption = parser.addVersionOption(); parser.addPositionalArgument("command", "The command to execute. [start, create-library, update-library, add-library, remove-library, list-libraries]"); + parser.addOption({"loglevel", "Set log level. Valid values: trace, info, debug, warn, error.", "loglevel", "info"}); parser.parse(app.arguments()); const QStringList args = parser.positionalArguments(); @@ -92,7 +93,27 @@ int main( int argc, char ** argv ) QDir().mkpath(YACReader::getSettingsPath()); 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(); + } + } DestinationPtr fileDestination(DestinationFactory::MakeFileDestination( destLog, EnableLogRotation, MaxSizeBytes(1048576), MaxOldLogCount(2)));