bool PlainConfig::LogConfig::LoadFromCliArgs()

in source/config/Config.cpp [537:595]


bool PlainConfig::LogConfig::LoadFromCliArgs(const CliArgs &cliArgs)
{
    if (cliArgs.count(CLI_LOG_LEVEL))
    {
        try
        {
            deviceClientlogLevel = ParseDeviceClientLogLevel(cliArgs.at(CLI_LOG_LEVEL));
        }
        catch (const std::invalid_argument &e)
        {
            LOGM_ERROR(Config::TAG, "Unable to parse incoming log level value passed via command line: %s", e.what());
            return false;
        }
    }

    if (cliArgs.count(CLI_LOG_TYPE))
    {
        try
        {
            deviceClientLogtype = ParseDeviceClientLogType(cliArgs.at(CLI_LOG_TYPE));
        }
        catch (const std::invalid_argument &e)
        {
            LOGM_ERROR(Config::TAG, "Unable to parse incoming log type value passed via command line: %s", e.what());
            return false;
        }
    }

    if (cliArgs.count(CLI_LOG_FILE))
    {
        deviceClientLogFile = FileUtils::ExtractExpandedPath(cliArgs.at(CLI_LOG_FILE).c_str());
    }

    if (cliArgs.count(CLI_ENABLE_SDK_LOGGING))
    {
        sdkLoggingEnabled = true;
    }

    if (cliArgs.count(CLI_SDK_LOG_FILE))
    {
        sdkLogFile = FileUtils::ExtractExpandedPath(cliArgs.at(CLI_SDK_LOG_FILE).c_str());
    }

    if (cliArgs.count(CLI_SDK_LOG_LEVEL))
    {
        try
        {
            sdkLogLevel = ParseSDKLogLevel(cliArgs.at(CLI_SDK_LOG_LEVEL));
        }
        catch (const std::invalid_argument &e)
        {
            LOGM_ERROR(
                Config::TAG, "Unable to parse incoming sdk log level value passed via command line: %s", e.what());
            return false;
        }
    }

    return true;
}