void Stage::l_processOptions(const Options& options) { m_debug = options.getValueOrDefault<bool>("debug", false); m_verbose = options.getValueOrDefault<uint32_t>("verbose", 0); if (m_debug && !m_verbose) m_verbose = 1; if (m_inputs.empty()) { std::string logname = options.getValueOrDefault<std::string>("log", "stdlog"); m_log = std::shared_ptr<pdal::Log>(new Log(getName(), logname)); } else { if (options.hasOption("log")) { std::string logname = options.getValueOrThrow<std::string>("log"); m_log.reset(new Log(getName(), logname)); } else { // We know we're not empty at this point std::ostream* v = m_inputs[0]->log()->getLogStream(); m_log.reset(new Log(getName(), v)); } } m_log->setLevel((LogLevel::Enum)m_verbose); gdal::ErrorHandler::get().set(m_log, m_debug); GlobalEnvironment::get().initializeGEOSErrors(m_log, m_debug); // If the user gave us an SRS via options, take that. try { m_spatialReference = options. getValueOrThrow<pdal::SpatialReference>("spatialreference"); } catch (pdal_error const&) { // If one wasn't set on the options, we'll ignore at this // point. Maybe another stage might forward/set it later. } // Process reader-specific options. readerProcessOptions(options); // Process writer-specific options. writerProcessOptions(options); }
void Stage::l_processOptions(const Options& options) { //printf("l_processOptions called %s\n", this->classname()); m_debug = options.getValueOrDefault<bool>("debug", false); m_verbose = options.getValueOrDefault<uint32_t>("verbose", 0); //printf("l_processOptions called %s, verbose level %i\n", this->classname(), m_verbose); if (m_debug && !m_verbose) m_verbose = 1; // jdw, ???, this appears above verbatim if (m_debug && !m_verbose) m_verbose = 1; if (m_inputs.empty()) { std::string logname = options.getValueOrDefault<std::string>("log", "stdlog"); m_log = std::shared_ptr<pdal::Log>(new Log(getName(), logname)); //printf("stdlog created %s\n", this->classname()); } else { if (options.hasOption("log")) { //printf("log if %s\n", this->classname()); std::string logname = options.getValueOrThrow<std::string>("log"); m_log.reset(new Log(getName(), logname)); } else { //printf("log else %s\n", this->classname()); // We know we're not empty at this point std::ostream* v = m_inputs[0]->log()->getLogStream(); m_log.reset(new Log(getName(), v)); //jdw, added next line to preserve log level //m_log->setLevel(m_inputs[0]->log()->getLevel()); //log()->get(LogLevel::Debug) << "Called after creation " << this->classname() << std::endl; //m_inputs[0]->log()->get(LogLevel::Debug) << "Called after creation " << this->classname() << std::endl; } } m_log->setLevel((LogLevel::Enum)m_verbose); // If the user gave us an SRS via options, take that. try { m_spatialReference = options. getValueOrThrow<pdal::SpatialReference>("spatialreference"); } catch (pdal_error const&) { // If one wasn't set on the options, we'll ignore at this // point. Maybe another stage might forward/set it later. } // Process reader-specific options. readerProcessOptions(options); // Process writer-specific options. writerProcessOptions(options); }