/** {@inheritdoc} */ protected function execute(InputInterface $input, OutputInterface $output) { $type = $input->getOption('type'); if (!in_array($type, array('error', 'exception'))) { throw new \LogicException('Type must be either "error" or "exception"'); } $count = intval($input->getOption('count')); $digits = floor(log10($count) + 1); /** @var ErrorHandler $errorHandler */ $errorHandler = $this->getContainer()->get('error_handler'); $metadata = new Metadata(); $metadata->addCategories($input->getArgument('category')); $output->writeln('<fg=cyan>Creating errors</fg=cyan>'); for ($i = 1; $i <= $count; ++$i) { switch ($type) { case 'error': $error = new ErrorException('TEST ERROR', E_USER_ERROR, __FILE__, __LINE__); $errorHandler->handleError($error, $metadata); break; case 'exception': $errorHandler->handleException(new \Exception(), $metadata); break; } $output->writeln(sprintf("<comment>[%{$digits}d/%{$digits}d]</comment> <info>OK</info>", $i, $count)); } $output->writeln('<info>DONE</info>'); }
/** {@inheritdoc} */ public function process(Metadata $metadata, \Exception $exception = null) { $this->callbackExecuted = true; $metadata->setAppRootDir('app_root_dir'); $metadata->setStage('stage'); $metadata->setAppVersion('app_version'); $metadata->addTags(array('tag1' => 1, 'tag3' => 3)); $metadata->addTag('tag2', 2); $metadata->removeTag('tag3'); $metadata->addMetadata(array('metadatum1' => 1, 'metadatum3' => 3)); $metadata->addMetadatum('metadatum2', 2); $metadata->removeMetadatum('metadatum3'); $metadata->addCategories(array('category1', 'category2')); $metadata->addCategory('category3'); $metadata->removeCategory('category3'); $metadata->addGrouping(array('group1' => 'value1')); $metadata->groupBy('group1', 'value2'); $metadata->groupBy('group2', 'value2'); }