public function work() { $identity = $this->identify(); $this->logger->notice(sprintf('%s waiting for work on queue(s) [%s]', $identity, join(', ', $this->queues))); for (;;) { $job = $this->metro->pop($this->queues, $this); if (null !== $job) { $jobHandler = $this->metro->createTaskLogHander($job->getId()); $this->logger->pushHandler($jobHandler); $this->logger->pushProcessor(function ($record) use($job) { $record['extra']['job_id'] = $job->getId(); return $record; }); $this->workOn($job, $jobHandler); $this->logger->popHandler(); $this->logger->popProcessor(); } if ($this->interval <= 0) { return; } if (null === $job) { if ($this->drainMode) { $this->logger->notice(sprintf('%s exiting because all queues are empty', $identity)); return; } usleep($this->interval * 1000.0); } } }
/** * @covers Monolog\Logger::pushProcessor * @covers Monolog\Logger::popProcessor * @expectedException LogicException */ public function testPushPopProcessor() { $logger = new Logger(__METHOD__); $processor1 = new WebProcessor(); $processor2 = new WebProcessor(); $logger->pushProcessor($processor1); $logger->pushProcessor($processor2); $this->assertEquals($processor2, $logger->popProcessor()); $this->assertEquals($processor1, $logger->popProcessor()); $logger->popProcessor(); }
/** * @param Logger $logger */ public function resetLogger(Logger $logger) { if (count($logger->getProcessors()) > 0) { $logger->popProcessor(); } $logger->pushProcessor(function ($record) { $record['context']['ReqID'] = $this->getConfig()->req_id; return $record; }); }
public function assertDefaultProcessors(Logger $logger) { $processors = array(); do { try { $processors[] = $processor = $logger->popProcessor(); } catch (\Exception $e) { } } while (!isset($e)); $this->assertInstanceOf('Graze\\Monolog\\Processor\\ExceptionMessageProcessor', array_shift($processors)); $this->assertInstanceOf('Graze\\Monolog\\Processor\\EnvironmentProcessor', array_shift($processors)); $this->assertInstanceOf('Graze\\Monolog\\Processor\\HttpProcessor', array_shift($processors)); $this->assertSame(array(), $processors, 'There are more processors defined than should be'); }
/** * Removes the processor on top of the stack and returns it. * * @return callable * @static */ public static function popProcessor() { return \Monolog\Logger::popProcessor(); }
/** * Removes the processor on top of the stack and returns it. * * @return callable */ public function popProcessor() { return $this->monolog->popProcessor(); }
/** * @return callable */ public function popProcessor() { return parent::popProcessor(); }