Hầu hết các ứng dụng web đều có cơ chế cụ thể để xử lý lỗi. Bằng cách sử dụng chúng, họ theo dõi các lỗi và ngoại lệ, đồng thời ghi lại 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 ứng dụng Laravel.
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, theo mặc định, Laravel ghi lại các lỗi và ngoại lệ trong lớp App\Exceptions\Handler . 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, thông báo lỗi chi tiết với 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 thành true . Điều này cho phép người dùng theo dõi tất cả các lỗi bằng dấu vết ngăn xếp.
- Cấu hình của dự án Laravel bao gồm tùy chọn gỡ lỗi 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 này được đặt thành giá trị được xác định trong các biến môi trường của tệp .env .
- Giá trị được đặt thành true trong môi trường phát triển cục bộ và được đặt thành false trong 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, nguy cơ chia sẻ thông tin nhạy cảm với người dùng cuối sẽ cao hơn.
Nhật ký lỗi
Ghi nhật ký 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 trong tệp config/app.php . Vui lòng lưu ý các điểm sau khi xử lý Error Log trong Laravel −
- Laravel sử dụng thư viện ghi nhật ký PHP monolog.
- Các tham số ghi nhật ký được sử dụng để theo dõi lỗi là đơn, hàng ngày, nhật ký hệ thống và nhật ký lỗi .
- Ví dụ: nếu bạn muốn ghi lại các thông báo lỗi trong 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 hàng ngày như được hiển thị trong lệnh bên dưới –
'log' => env('APP_LOG',’daily’),
- Nếu chế độ nhật ký hàng ngày được lấy làm tham số, Laravel sẽ lấy nhật ký lỗi trong khoảng thời gian 5 ngày 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ẵn là thông báo lỗi, nghiêm trọng, cảnh báo và khẩn cấp . Bạn có thể đặt mức độ nghiêm trọng như được hiển thị trong lệnh bên dưới –
'log_level' => env('APP_LOG_LEVEL', 'error')