😄
LaravelでProcessorsを追加するメモ
LaravelでProcessorsを追加するメモ
- LaravelでProcessorsを追加することでメモリの使用量やpid、IPアドレスなどの情報をログに出力することができる。
-
pushProcessorにuseしたProcessorを渡すことで簡単に使用することができる。 - 自分で作った自作Processorも同じようにProsessorに渡すと使用できる
use Monolog\Processor\MemoryUsageProcessor;
use Monolog\Processor\ProcessIdProcessor;
use Monolog\Processor\UidProcessor;
use Monolog\Processor\WebProcessor;
class CustomFormatter extends LineFormatter
{
/**
* 出力されるログのフォーマット
*
* @var string
*/
protected $log_format = "[%datetime% (JST)] %channel%.%level_name%: %message% %context% %extra%\n";
/**
* ログの日付フォーマット
*
* @var string
*/
protected $date = "Y/m/d H:i:s.v";
public function __invoke(Logger $logger): void
{
$processps = new ProcessIdProcessor();
$uidps = new UidProcessor();
$webps = new WebProcessor();
$memoryps = new MemoryUsageProcessor();
foreach ($logger->getHandlers() as $handler) {
$handler->setFormatter(new LineFormatter(
$this->log_format,
$this->date,
true,
true
));
$handler->pushProcessor($processps);
$handler->pushProcessor($uidps);
$handler->pushProcessor($webps);
$handler->pushProcessor($memoryps);
}
}
}
Discussion