Laravel: quản lý file logs với LogViewer

Trong bài viết này mình sẽ hướng dẫn các bạn quản lý các file ghi log của laravel dễ dàng với package LogViewer.

1. Giới thiệu về LogViewer

Laravel cung cấp file nhật ký lưu trữ tất cả ngoại lệ lỗi thời gian chạy hoặc bất kỳ lỗi nào khác có được, tất cả các lỗi đều được ghi lại và lưu trong một log file, các thông báo lỗi xếp chồng lên nhau, khó phân biệt lỗi hoặc là cảnh báo, dẫn đến quản lý ứng dụng không nắm được tình trạng ứng dụng. Vì vậy khi xảy ra lỗi, thường mất nhiều thời gian để debug, và cách nhanh nhất là xóa file log cũ và chạy lại ứng dụng để xem log mới và điều này là không nên xảy ra với ứng dụng đã được chạy production.

Để khắc phục vấn đề trên thì ta có thể sử dụng package LogViewer để quản lý logs tốt hơn. LogViewer cung cấp một giao diện thân thiện với người sử dụng, thống kê báo các các lỗi có trên ứng dụng, phân biệt các lỗi, các cảnh báo, thống kê nhật ký theo ngày. Có thể xem và xóa logs trực tiếp các file ghi log tại đậy.

2. Cài đặt gói LogViewer:

Bây giờ chúng ta sẽ cài đặt gói package của LogViewer bằng cách sử dụng lệnh sau:

Sau khi cài đặt thành công, chúng ta cần đăng ký service trong config/app.php

3. Cấu hình LogViewer Package:

Bây giờ chúng ta sẽ tạo tập tin cấu hình của gói package LogViewer như tập tin css, js, config file, … Bằng cách chạy lệnh command dưới đây:

Publish file Config và files Translations

Bắt buộc publish

Publish duy nhất file config

Publish duy nhất file translations

Kiểm tra ứng dụng có đủ yêu cầu để log file hay không:

4. Cấu hình của Laravel Log:

Chỉnh giá trị “stack” của biến LOG_CHANNEL thành “daily” để package hiển thị log theo ngày. Change như sau:

.env

Chỉnh .env xong thì nhớ clear config nhé.

Package đã cấu hình thành công, bây giờ chúng ta run serve để xem kết quả:

Mở URL để xem:

Giao diện sẽ giống như thế này:

Giao diện trang dashboard
Giao diện trang dashboard
Giao diện trang logs
Giao diện trang logs
Giao diện trang logs chi tiết theo ngày
Giao diện trang logs chi tiết theo ngày

Source code

Hi vọng sẽ giúp được bạn. Thanks