Laravel - Xử lý lỗi
Hầu hết các ứng dụng web đều có các cơ chế cụ thể để xử lý lỗi. Sử dụng chúng, họ theo dõi các lỗi và ngoại lệ, đồng thời ghi nhật ký chúng để phân tích hiệu suất. Trong chương này, bạn sẽ đọc về xử lý lỗi trong các ứng dụng Laravel.
Điểm quan trọng
Trước khi tiếp tục tìm hiểu chi tiết về cách xử lý lỗi trong Laravel, vui lòng lưu ý những điểm quan trọng sau:
Đối với bất kỳ dự án mới nào, Laravel ghi lại các lỗi và ngoại lệ trong App\Exceptions\Handlertheo mặc định. Sau đó chúng được gửi lại cho người dùng để phân tích.
Khi ứng dụng Laravel của bạn được đặt ở chế độ gỡ lỗi, các thông báo lỗi chi tiết có dấu vết ngăn xếp sẽ được hiển thị trên mọi lỗi xảy ra trong ứng dụng web của bạn.
Theo mặc định, chế độ gỡ lỗi được đặt thành false và bạn có thể thay đổi nó thành true. Điều này cho phép người dùng theo dõi tất cả các lỗi với dấu vết ngăn xếp.
Cấu hình của dự án Laravel bao gồm debugtùy chọn xác định lượng thông tin về lỗi sẽ được hiển thị cho người dùng. Theo mặc định trong ứng dụng web, tùy chọn được đặt thành giá trị được xác định trong các biến môi trường của.env tập tin.
Giá trị được đặt thành true trong môi trường phát triển địa phương và được đặt thành false trong một môi trường sản xuất.
Nếu giá trị được đặt thành true trong môi trường sản xuất, rủi ro chia sẻ thông tin nhạy cảm với người dùng cuối cao hơn.
Nhật ký lỗi
Ghi lại các lỗi trong ứng dụng web giúp theo dõi chúng và lập kế hoạch chiến lược loại bỏ chúng. Thông tin nhật ký có thể được định cấu hình trong ứng dụng web trongconfig/app.phptập tin. Vui lòng lưu ý những điểm sau khi xử lý Lỗi đăng nhập trong Laravel -
Laravel sử dụng thư viện ghi nhật ký PHP monolog.
Các thông số ghi nhật ký được sử dụng để theo dõi lỗi là single, daily, syslog và errorlog.
Ví dụ: nếu bạn muốn ghi lại thông báo lỗi trong các tệp nhật ký, bạn nên đặt giá trị nhật ký trong cấu hình ứng dụng của mình thành daily như được hiển thị trong lệnh dưới đây -
'log' => env('APP_LOG',’daily’),
Nếu daily chế độ nhật ký được lấy làm tham số, Laravel nhận nhật ký lỗi trong khoảng thời gian 5 days, theo mặc định. Nếu bạn muốn thay đổi số lượng tệp nhật ký tối đa, bạn phải đặt tham sốlog_max_files trong tệp cấu hình thành giá trị mong muốn.
‘log_max_files’ => 25;
Mức độ nghiêm trọng
Vì Laravel sử dụng thư viện ghi nhật ký PHP monolog nên có nhiều tham số khác nhau được sử dụng để phân tích mức độ nghiêm trọng. Các mức độ nghiêm trọng khác nhau có sẵnerror, critical, alert và emergency messages. Bạn có thể đặt mức độ nghiêm trọng như được hiển thị trong lệnh dưới đây:
'log_level' => env('APP_LOG_LEVEL', 'error')