В моем приложении laravel необходимо отформатировать сообщение, которое нужно отправить в slack. Поэтому я установил свободный канал регистрации в config/logging.php
:
'slack' => [
'driver' => 'slack',
'url' => /*Censored Hook URL*/,
'username' => 'MyApp',
'emoji' => ':gear:',
'level' => 'debug',
],
Также, как видно из документации Я могу создать монолог, поэтому я сделал следующее:
namespace App\Logging;
class SlackLogFormatter
{
/**
* Customize the given logger instance.
*
* @param \Illuminate\Log\Logger $logger
* @return void
*/
public function __invoke($logger)
{
foreach ($logger->getHandlers() as $handler) {
$handler->setFormatter(...);
}
}
}
И указал это как нажатие на мой журнал:
'slack' => [
'driver' => 'slack',
'tap' => [App\Logging\SlackLogFormatter::class]
'url' => /*Censored Hook URL*/,
'username' => 'MyApp',
'emoji' => ':gear:',
'level' => 'debug',
],
Но в моем устройстве, где я обрабатываю саму запись журнала? Я имею в виду:
Кажется, что $handler->setFormatter
не является методом \Illuminate\Log\Logger
класса.
Я не могу выяснить, какой методМне нужно переопределить, когда мне нужно предоставить пользовательский формат. Я имею в виду, у меня есть метод invoke, а потом что?