Neos\Flow\Log\Logger::removeBackend PHP Method

removeBackend() public method

Runs the close() method of a backend and removes the backend from the logger.
public removeBackend ( Neos\Flow\Log\Backend\BackendInterface $backend ) : void
$backend Neos\Flow\Log\Backend\BackendInterface The backend to remove
return void
    public function removeBackend(Backend\BackendInterface $backend)
    {
        if (!$this->backends->contains($backend)) {
            throw new NoSuchBackendException('Backend is unknown to this logger.', 1229430381);
        }
        $backend->close();
        $this->backends->detach($backend);
    }

Usage Example

 /**
  * @test
  * @expectedException \Neos\Flow\Log\Exception\NoSuchBackendException
  */
 public function removeThrowsAnExceptionOnTryingToRemoveABackendNotPreviouslyAdded()
 {
     $mockBackend = $this->getMockBuilder(BackendInterface::class)->setMethods(['open', 'append', 'close'])->getMock();
     $logger = new Logger();
     $logger->removeBackend($mockBackend);
 }