Skip to content

Instantly share code, notes, and snippets.

@nikophil
Last active September 10, 2025 20:17
Show Gist options
  • Save nikophil/019cbb796807353f1b666216c3600f26 to your computer and use it in GitHub Desktop.
Save nikophil/019cbb796807353f1b666216c3600f26 to your computer and use it in GitHub Desktop.
<?php
namespace App\Whatever;
use Monolog\Handler\HandlerInterface;
use Monolog\Logger;
use Symfony\Bridge\Monolog\Handler\ConsoleHandler;
use Symfony\Component\Console\ConsoleEvents;
use Symfony\Component\Console\Event\ConsoleCommandEvent;
use Symfony\Component\DependencyInjection\Attribute\Autowire;
use Symfony\Component\EventDispatcher\Attribute\AsEventListener;
#[AsEventListener(ConsoleEvents::COMMAND)]
final class LoggerSubscriber
{
public function __construct(
#[Autowire(service: 'logger')]
private readonly Logger $logger,
) {
}
public function __invoke(ConsoleCommandEvent $event): void
{
if ($event->getCommand()->getName() === 'messenger:consume') {
return;
}
$this->logger->setHandlers(
array_filter(
$this->logger->getHandlers(),
fn(HandlerInterface $handler) => !$handler instanceof ConsoleHandler
)
);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment