34 lines
831 B
PHP
Raw Normal View History

2025-02-28 09:29:43 +08:00
<?php
declare(strict_types=1);
namespace Yansongda\Supports\Logger;
use Monolog\Handler\AbstractProcessingHandler;
use Monolog\Logger;
use Symfony\Component\Console\Output\ConsoleOutput;
use Symfony\Component\Console\Output\OutputInterface;
class StdoutHandler extends AbstractProcessingHandler
{
/**
* @var \Symfony\Component\Console\Output\OutputInterface
*/
private $output;
public function __construct($level = Logger::DEBUG, bool $bubble = true, ?OutputInterface $output = null)
{
$this->output = $output ?? new ConsoleOutput();
parent::__construct($level, $bubble);
}
/**
* Writes the record down to the log of the implementing handler.
*/
protected function write(array $record): void
{
$this->output->writeln($record['formatted']);
}
}