Laravel gửi lỗi người dùng đến Slack

post-title

Trong thực tế khi bạn đưa sản phẩm của mình chạy production thì chúng ta sẽ tắt debug đi bảo mật. Vì vậy khi báo lỗi chỉ trả về 500. Vì vậy mà bạn khó có thể phán đoán được là lỗi gì. Cũng như user phải báo lại cho bạn. Hôm nay mình sẽ hướng dẩn cho các bạn 1 giải giáp mà mình đang làm để có thể nhận thông báo lỗi trước khi user báo về thông qua phầm mềm Slack.

Trong thực tế khi bạn đưa sản phẩm của mình chạy production thì chúng ta sẽ tắt debug đi bảo mật. Vì vậy khi báo lỗi chỉ trả về 500. Vì vậy mà bạn khó có thể phán đoán được là lỗi gì. Cũng như user phải báo lại cho bạn. Hôm nay mình sẽ hướng dẩn cho các bạn 1 giải giáp mà mình đang làm để có thể nhận thông báo lỗi trước khi user báo về thông qua phầm mềm Slack.

Ban đầu mình thực hiện bằng các gửi qua email nhưng có một số lỗi user spam rất nhiều lần gây ra báo mail hàng loạt nói chung là rất khó chịu. Vì vậy học hỏi những người trình độ cao hơn thì mình gửi qua Slack cho đơn giản mỗi khi có lỗi thì bạn sẽ được báo giống như hình sau:

huong-dan-botble-cms-slack-11-min


Chỉ cần như vậy là bạn có thể biết được đang lỗi ở đâu và nhanh chóng sửa rồi đúng không.

Vậy cách để thực hiện như sau: 

Đầu tiền các bạn vào app →  Exceptions → Handler.php và mở file này lên chúng ta sẽ chỉnh sửa ở đây và thềm function sau: 

    ở phần $user nếu các bạn không cần lấy tên thì có thể bỏ phần này đi nhé

public function report(Throwable $exception)
    {
       if ($this->shouldReport($exception) ) {
           auth()->check() ? $user = auth()->user()->name : $user = 'Không có User';
           Log::channel('slack')->critical($user . "\n" . URL::full() . "\n" . $exception->getFile() . ':' . $exception->getLine() . "\n" . $exception->getMessage());
       }
    
       return parent::report($exception);
    }

 

Tiếp theo các bạn có thể đọc bài sau để tạo cho mình một App trên Slack : https://nghiane.com/huong-dan-gui-thong-bao-loi-den-slack-o-botble-cms

Sau đó bạn thêm vào .env dòng sau

LOG_SLACK_WEBHOOK_URL: Thì các dán đường dẫn ở Webhook  trong API lấy được ở bài viết trên vào

    

LOG_SLACK_WEBHOOK_URL="https://hooks.slack.com/services/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

 

Vậy là xong ! từ giờ các bạn có thể nhận được các thông báo lỗi từ người dùng đến chúng ta

icon Subscribe

to Our Newsletter