deployConfigWriter = $deployConfigWriter; } /** * {@inheritdoc} */ protected function configure() { $this->setName(self::COMMAND_NAME) ->setDescription('Enable DB query logging') ->setDefinition( [ new InputOption( self::INPUT_ARG_LOG_ALL_QUERIES, null, InputOption::VALUE_OPTIONAL, 'Log all queries. [true|false]', "true" ), new InputOption( self::INPUT_ARG_LOG_QUERY_TIME, null, InputOption::VALUE_OPTIONAL, 'Query time thresholds.', "0.001" ), new InputOption( self::INPUT_ARG_LOG_CALL_STACK, null, InputOption::VALUE_OPTIONAL, 'Include call stack. [true|false]', "true" ), ] ); parent::configure(); } /** * {@inheritdoc} * @throws \InvalidArgumentException */ protected function execute(InputInterface $input, OutputInterface $output) { $data = [LoggerProxy::PARAM_ALIAS => LoggerProxy::LOGGER_ALIAS_FILE]; $logAllQueries = $input->getOption(self::INPUT_ARG_LOG_ALL_QUERIES); $logQueryTime = $input->getOption(self::INPUT_ARG_LOG_QUERY_TIME); $logCallStack = $input->getOption(self::INPUT_ARG_LOG_CALL_STACK); $data[LoggerProxy::PARAM_LOG_ALL] = (int)($logAllQueries != 'false'); $data[LoggerProxy::PARAM_QUERY_TIME] = number_format($logQueryTime, 3); $data[LoggerProxy::PARAM_CALL_STACK] = (int)($logCallStack != 'false'); $configGroup[LoggerProxy::CONF_GROUP_NAME] = $data; $this->deployConfigWriter->saveConfig([ConfigFilePool::APP_ENV => $configGroup]); $output->writeln("". self::SUCCESS_MESSAGE . ""); } }