/**
  * Create service
  *
  * @param  ServiceLocatorInterface $serviceLocator
  * @return ProcessorPluginManager
  */
 public function createService(ServiceLocatorInterface $serviceLocator)
 {
     $config = $serviceLocator->get('Config');
     if (!isset($config[self::OPTIONS_KEY])) {
         $config[self::OPTIONS_KEY] = [];
     }
     $managerOptions = new Config($config[self::OPTIONS_KEY]);
     $processorManager = new ProcessorPluginManager($managerOptions);
     $processorManager->setServiceLocator($serviceLocator);
     return $processorManager;
 }
 /**
  * @group 4455
  */
 public function testWillInjectProcessorPluginManagerIfAvailable()
 {
     $processors = new ProcessorPluginManager();
     $mockProcessor = $this->getMock('Zend\\Log\\Processor\\ProcessorInterface');
     $processors->setService('CustomProcessor', $mockProcessor);
     $services = new ServiceManager(new ServiceManagerConfig(array('abstract_factories' => array('Zend\\Log\\LoggerAbstractServiceFactory'))));
     $services->setService('LogProcessorManager', $processors);
     $services->setService('Config', array('log' => array('Application\\Frontend' => array('writers' => array(array('name' => 'Null')), 'processors' => array(array('name' => 'CustomProcessor'))))));
     $log = $services->get('Application\\Frontend');
     $logProcessors = $log->getProcessors();
     $this->assertEquals(1, count($logProcessors));
     $processor = $logProcessors->current();
     $this->assertSame($mockProcessor, $processor);
 }