Laravel Telescope đã ra mắt bản beta

Bản beta đầu tiên của Laravel Telescope đã được ra mắt, cùng trải nghiệm xem Laravel Telescope có gì nhé. Nói sơ qua một tý, Laravel Telescope là một package hổ trợ bạn debug trong quá trình phát triển ứng dụng Laravel

Laravel Telescope is an elegant debug assistant for the Laravel framework. Telescope provides insight into the requests coming into your application, exceptions, log entries, database queries, queued jobs, mail, notifications, cache operations, scheduled tasks, variable dumps and more. Telescope makes a wonderful companion to your local Laravel development environment.

Cài đặt và cấu hình

Cài đặt thông qua composer, Telescope yêu cầu Laravel 5.7+:

composer require laravel/telescope --dev

Publish assets bằng command telescope:install và migrate database:

php artisan telescope:install

php artisan migrate

File config cho package được lưu tại config/telescope.php nếu chưa thấy xuất hiện, run command vendor:publish và chọn tag telescope-config, sau đó tùy chỉnh cho phù hợp.

Dashboard Authorization

Sau khi cài đặt xong, truy cập /telescope để sử dụng. Mặc định bạn chỉ có thể truy cập vào route này khi setting APP_ENV=local. Tuy nhiên bạn cũng có thể tùy chỉnh quyền truy cập vào những route này khi APP_ENV khác local, trong phương thức gate của app/Providers/TelescopeServiceProvider.php.

/**
 * Register the Telescope gate.
 *
 * This gate determines who can access Telescope in non-local environments.
 *
 * @return void
 */
protected function gate()
{
    Gate::define('viewTelescope', function ($user) {
        return in_array($user->email, [
            '[email protected]',
        ]);
    });
}

Các tabs

(HTTP) Requests

Tab này hIển thị danh sách và thông tin chi tiết tất cả request đến ứng dụng của bạn.

Mỗi request sẽ bao gồm nhiều thông tin khác như database queries và thời gian thực hiện query; user nào thực hiện request đó...

Commands

Tab này cho phép bạn nhìn thấy các command đã được chạy và exit code của chúng, bấm vào xem chi tiết bạn có thể xem được thêm arguments, options của command đó cũng như một số thông tin liên quan.

Schedule

Show danh sách scheduled task đã được chạy, bấm vào để xem thông tin chi tiết

Jobs

Show danh sách job đã và đang chạy. Tương tự Horizon nhưng Horizon chỉ hổ trợ redis và không chỉ đơn thuần là UI, Telescope là UI đơn thuần và hổ trợ tất cả queue driver.

Ở trang job list, bạn có thể xem được job name,queue và connection job đó đang chạy, job status và khi nào nó sẽ xảy ra.

Ở trang detail, có thể xem được nhiều thông tin hơn: hostname, connection, queue, số lần thử, timeout, tags, class name...

Exceptions

Show tất cả exception cũng như thông tin chi tiết của từng exception.

Xem vị trí xảy ra exception trong code, highlight và xem stack trace.

Logs

Xem tất cả log, log level và thời gian log

Xem nhiều thông tin về log ở trang chi tiết:

Dump screen

Khi bạn sử dụng phương thức dump() trong code của bạn và màn hình Telescope dump được mở, bạn sẽ nhìn thấy dữ liệu đó sẽ được dump trong telescope và không xuất hiện trong ứng dụng của bạn, các "dump" cũng được link đến request gọi đến nó. Nếu bạn đóng màn hình này đi, các "dump" sẽ xuất hiện trở lại trong ứng dụng.

Queries

Show thông tin về tất cả database queries giống debug bar, click vào trang detail để xem chi tiết hơn: thời gian thực hiện, request nào gọi query đó...

Bạn có thể config thời gian 1 query được xem là chậm và khi thực thi vượt ngưỡng đó, query sẽ bị đánh dấu đỏ là slow trong danh sách query

Models

Bạn có thể xem được các sự kiện create, update, delete của model cũng như sự thay đổi của data trong từng sự kiện.

Events

Show tất cả các thông tin về event và listener

Mail

Show danh sách mail đã được gửi, ai là người nhận, được gửi khi nào hoặc những email đang được queued và thời gian nó sẽ được gửi. Bạn có thể xem thông tin mail giống như mailtrap khi bấm vào xem chi tiết.

Notifications

Show danh sách notifications, type của chúng, có thể xem thêm thông tin về Job nếu notofication đang được queue...

Cache

Show key, data, thời gian hết hạn của cache, request nào trigger đến nó...

Redis

Giống như tab cache

Trên đây là một số thông tin cơ bản về package mới - Laravel Telescope, hi vọng bạn sẽ cảm thấy hữu ích

Tham khảo: