Как транслировать ошибки и предупреждения в laravel?

Я использую Laravel 5.6 и socket.io транслировать сообщения в админ-панели моего приложения.

В моем приложении есть требование транслировать все errors and warnings генерируется перед входом в laravel logs files для администратора.

Я просто хотел знать, как я могу достичь этой функциональности. Каковы другие простые способы, так как я новичок в Laravel Framework.

Это то, что я сделал до сих пор:

namespace App\Events;

use Illuminate\Broadcasting\Channel;
use Illuminate\Queue\SerializesModels;
use Illuminate\Broadcasting\PrivateChannel;
use Illuminate\Broadcasting\PresenceChannel;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;

class ErrorBroadcasting implements ShouldBroadcast
{
use InteractsWithSockets, SerializesModels;

public $errorContent;

public function __construct($errorContent)
{
$this->errorContent = $errorContent;
}

public function broadcastOn()
{
return new PresenceChannel('error-broadcasting-channel');
}
}

И вот как я потребляю канал в моем клинке.

<script>

window.Echo = new Echo({
broadcaster: 'socket.io',
host: window.location.hostname + ':6001',
});

var buyer = Echo.channel(`error-broadcasting-channel`);
buyer.listen("ErrorBroadcasting", e => {
$('#error_container').append("<div class=\"row chat-snippet\">\n" +
"                                        <div class=\"col-lg-12\">\n" +
"                                            <small>Buyer:</small>\n" +
"                                            <p>"+e.errorContent+"</p>\n" +
"                                        </div>\n" +
"                                    </div>");
});
</script>

И вот как я изменил свое приложение \ Exceptions \ Handler.php

public function report(Exception $exception)
{
if (config('app.mail_exception') && $this->shouldReport($exception)) {
$this->sendEmail($exception); // sends an email
}
broadcast(new ErrorBroadcasting($exception))->toOthers();
parent::report($exception);
}

0

Решение

В вашем

приложение / исключения / handler.php

В этом классе внутри метода рендеринга вы можете

 public function report(Exception $exception)
{

broadcast($yourEvent)
parent::report($exception);
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector