Alat penyahpepijatan aplikasi teleskop
- Kemas kini Teleskop
- Penghijrahan data tersuai
- Konfigurasi
- Pengubahsuaian data
- Pengubahsuaian data
- Menapis
- Bujang penapisan
- Penapisan kelompok
- Pemantauan yang tersedia
- Pemantauan cache
- Pemantauan acara
- Pemantauan pengecualian
- Gate Pemantauan Pemantauan Redis
- Permintaan pemantauan
- Jadualkan pemantauan
Laravel Telescope
- Pengenalan
- Pemasangan
- Keizinan Papan Pemuka
- Pemantauan yang tersedia
- Pemantauan cache
- Pemantauan perintah
- Pemantauan acara Dengar
- Pemantauan pengecualian
- Gate Pemantauan
- Pemantauan proses
- Pemantauan log
- Pemantauan mel
- Pemantauan model
- Pemantauan mesej
- Redis mendengar
- meminta Pemantauan
- Pemantauan Jadual
Pengenalan
Larave Telescope ialah pembantu nyahpepijat yang elegan untuk rangka kerja Laravel. Teleskop memberikan cerapan tentang permintaan yang masuk ke dalam aplikasi anda, pengecualian, entri log, pertanyaan pangkalan data, kerja beratur, e-mel, pemberitahuan, operasi cache, tugas berjadual, pembuangan boleh ubah dan banyak lagi. Teleskop ialah teman yang hebat kepada persekitaran pembangunan Laravel tempatan anda.🎜🎜Pemasangan
Anda boleh menggunakan Komposer untuk memasang sambungan Teleskop dalam projek Laravel anda:
composer require laravel/telescope
Selepas memasang Teleskop, anda boleh menggunakan perintah
telescope:install
dalam Artisan untuk mengkonfigurasi sambungan contoh. Selepas memasang Teleskop, anda juga harus menjalankan perintahmigrate
:telescope:install
命令来配置扩展实例。安装 Telescope 后,还应运行migrate
命令:php artisan telescope:install php artisan migrate
更新 Telescope
更新 Telescope 时,您应该重新配置加载 Telescope 实例:
php artisan telescope:publish
仅在特定环境中安装
如果您打算仅使用 Telescope 来协助您的本地开发。可以使用
--dev
标志安装 Telescope:composer require laravel/telescope --dev
运行
telescope:install
后,您应该从app
配置文件中删除TelescopeServiceProvider
服务提供注册。相反,在AppServiceProvider
的register
方法中手动注册服务:use Laravel\Telescope\TelescopeServiceProvider; /** * 注册应用服务。 * * @return void */public function register(){ if ($this->app->isLocal()) { $this->app->register(TelescopeServiceProvider::class); } }
定制数据迁移
如果您不打算使用 Telescope 的默认迁移,则应该在
AppServiceProvider
的register
方法中调用Telescope::ignoreMigrations
方法。您可以使用php artisan vendor:publish --tag=telescope-migrations
命令导出默认迁移。配置
使用 Telescope,其主要配置文件将位于
config/telescope.php
。此配置文件允许您配置监听程序选项,每个配置选项都包含其用途说明,因此请务必彻底浏览此文件。如果需要,您可以使用
enabled
配置选项完全禁用 Telescope 的数据收集:'enabled' => env('TELESCOPE_ENABLED', true),
数据修改
有了数据修改,
telescope_entries
表可以非常快速地累积记录。为了缓解这个问题,你应该使用 Artisan 每天运行telescope:prune
命令:$schedule->command('telescope:prune')->daily();
默认情况下,将获取超过 24 小时的所有数据。在调用命令时可以使用
hours
选项来确定保留 Telescope 数据的时间。例如,以下命令将删除 48 小时前创建的所有记录:$schedule->command('telescope:prune --hours=48')->daily();
仪表板授权
Telescope 在
/telescope
处显示仪表板。默认情况下,您只能在本地
环境中访问此仪表板。在你的app/Providers/TelescopeServiceProvider.php
文件中,有一个gate
/** * 註冊 Telescope Gate。 * * 使用 Gate 决定谁可以在非本地环境中访问 Telescope。 * * @return void */ protected function gate(){ Gate::define('viewTelescope', function ($user) { return in_array($user->email, [ 'taylor@laravel.com', ]); }); }
Kemas kini Teleskop
Apabila mengemas kini Teleskop, anda harus mengkonfigurasi semula contoh Teleskop yang dimuatkan:/** * 注册应用服务。 * * @return void */ public function register(){ $this->hideSensitiveRequestDetails(); Telescope::filter(function (IncomingEntry $entry) { if ($this->app->isLocal()) { return true; } return $entry->isReportableException() || $entry->isFailedJob() || $entry->isScheduledTask() || $entry->hasMonitoredTag(); }); }
Hanya dalam persekitaran tertentu Pasang dalam
Jika anda bercadang untuk menggunakan Teleskop hanya untuk membantu pembangunan setempat anda. Teleskop boleh dipasang menggunakan bendera--dev
:use Illuminate\Support\Collection; /** * 注册应用服务。 * * @return void */ public function register(){ $this->hideSensitiveRequestDetails(); Telescope::filterBatch(function (Collection $entries) { if ($this->app->isLocal()) { return true; } return $entries->contains(function ($entry) { return $entry->isReportableException() || $entry->isFailedJob() || $entry->isScheduledTask() || $entry->hasMonitoredTag(); }); }); }
Selepas menjalankantelescope:install
anda harus mengalih keluardaripada konfigurasi
Pendaftaran pembekal perkhidmatan. Sebaliknya, daftarkan perkhidmatan secara manual dalam kaedahapp
fail TelescopeServiceProviderdaftar
AppServiceProvider
:'watchers' => [ Watchers\CacheWatcher::class => true, Watchers\CommandWatcher::class => true, ... ],
Penghijrahan data tersuai h3 >
Jika anda tidak bercadang untuk menggunakan migrasi lalai Teleskop, anda harus memanggil kaedah
🎜Telescope::ignoreMigrations
dalam kaedahregister
AppServiceProvider
. Anda boleh mengeksport migrasi lalai menggunakan perintahphp artisan vendor:publish --tag=telescope-migrations
.Konfigurasi
🎜Untuk menggunakan Teleskop, fail konfigurasi utamanya akan terletak diconfig/telescope.php
. Fail konfigurasi ini membolehkan anda mengkonfigurasi pilihan pendengar, setiap pilihan konfigurasi mengandungi penerangan tentang tujuannya, jadi pastikan anda menyemak imbas fail ini dengan teliti. 🎜🎜Jika mahu, anda boleh melumpuhkan sepenuhnya pengumpulan data Teleskop menggunakan pilihan konfigurasididayakan: 🎜 'watchers' => [ Watchers\QueryWatcher::class => [ 'enabled' => env('TELESCOPE_QUERY_WATCHER', true), 'slow' => 100, ], ... ],
🎜🎜🎜Pengubahsuaian data
🎜 Dengan pengubahsuaian data, jadualtelescope_enries
boleh mengumpul rekod dengan cepat. Untuk mengurangkan isu ini, anda harus menjalankan perintahtelescope:prune
setiap hari menggunakan Artisan: 🎜'watchers' => [ Watchers\CommandWatcher::class => [ 'enabled' => env('TELESCOPE_COMMAND_WATCHER', true), 'ignore' => ['key:generate'], ], ... ],
🎜Secara lalai, semua data yang lebih lama daripada 24 jam akan diambil. Anda boleh menggunakan pilihanjam
apabila memanggil arahan untuk menentukan tempoh data Teleskop dikekalkan. Contohnya, arahan berikut akan memadamkan semua rekod yang dibuat 48 jam yang lalu: 🎜'watchers' => [ Watchers\GateWatcher::class => [ 'enabled' => env('TELESCOPE_GATE_WATCHER', true), 'ignore_abilities' => ['viewNova'], ], ... ],
🎜🎜🎜🎜Dashboard Authorization🎜🎜Teleskop Tunjukkan papan pemuka di/teleskop
. Secara lalai, anda hanya boleh mengakses papan pemuka ini dalam persekitaranlocal
. Dalam failapp/Providers/TelescopeServiceProvider.php
anda, terdapat kaedahgate
. Kebenaran ini mengawal akses kepada Teleskop dalam persekitaran 🎜bukan tempatan🎜. Anda bebas mengubah suai sekatan kebenaran ini seperti yang diperlukan untuk pemasangan dan akses Teleskop: 🎜'watchers' => [ Watchers\ModelWatcher::class => [ 'enabled' => env('TELESCOPE_MODEL_WATCHER', true), 'events' => ['eloquent.created*', 'eloquent.updated*'], ], ... ],
🎜🎜🎜🎜🎜Menapis🎜🎜🎜🎜🎜Penapisan item tunggal
Anda boleh menapis data yang direkodkan oleh Teleskop melalui panggilan balik
penapis
yang didaftarkan dalamTelescopeServiceProvider
. Secara lalai, panggil balik ini merekodkan semua data dalam persekitaranlocal
serta pengecualian, gangguan proses, tugas berjadual dan data dengan bendera yang dipantau dalam semua persekitaran lain:TelescopeServiceProvider
中注册的filter
回调来过滤 Telescope 记录的数据。默认情况下,此回调会记录本地
环境中的所有数据以及所有其他环境中的异常、进程中断、计划任务和带有受监控标记的数据:'watchers' => [ Watchers\QueryWatcher::class => [ 'enabled' => env('TELESCOPE_QUERY_WATCHER', true), 'slow' => 50, ], ... ],
批量过滤
虽然
filter
回调过滤单个条目的数据,但您可以使用filterBatch
方法注册一个回调,该回调过滤给定请求或控制台命令的所有数据。如果回调返回true
,则所有数据都由 Telescope 记录:'watchers' => [ Watchers\RequestWatcher::class => [ 'enabled' => env('TELESCOPE_REQUEST_WATCHER', true), 'size_limit' => env('TELESCOPE_RESPONSE_SIZE_LIMIT', 64), ], ... ],
可用的监听
当在控制台执行命令或处理请求时,Telescope 监听器会收集应用程序数据。您可以在
rrreeeconfig/telescope.php
配置文件中自定义要启用监听项的列表:一些监听器还允许您提供其他自定义选项:
rrreee缓存监听
当缓存键被命中、遗漏、更新和遗忘时,缓存监听器会记录数据。
命令监听
只要执行 Artisan 命令,命令监听器就会记录参数、选项、退出代码和输出。如果您想排除监听器记录的某些命令,您可以在
rrreeeconfig/telescope.php
文件的ignore
选项中指定命令:数据监听
数据监听器在 Telescope 中记录并显示您的数据变量。使用 Laravel 时,可以使用全局
dump
函数输出变量。必须在浏览器中打开数据监听器选项卡,才能进行输出变量,否则监听器将忽略此次输出。事件监听
事件监听器记录应用程序调度的任何事件的有效负载、监听器和广播数据。事件监听器忽略了 Laravel 框架的内部事件。
异常监听
异常监听器记录应用程序引发的任何可报告异常的数据和堆栈跟踪。
Gate 监听
Gate 监听器记录您的应用程序的 Gate 和策略检查的数据和结果。如果您希望将某些能力排除在监听器的记录之外,您可以在
config/telescope.php
文件的ignore_abilities
rrreeeSemasa panggilan balik
rrreeepenapis menapis data untuk satu masukan, anda boleh menggunakan kaedah filterBatch
untuk mendaftarkan panggilan balik yang menapis kepada Semua data untuk permintaan tertentu atau arahan konsol. Jika panggilan balik mengembalikantrue
, semua data direkodkan oleh Teleskop:Available watchers
Apabila berada di konsol Telescope pendengar mengumpul data aplikasi apabila melaksanakan arahan atau mengendalikan permintaan. Anda boleh menyesuaikan senarai item untuk membolehkan mendengar dalam fail konfigurasiconfig/telescope.php
: rrreeeSesetengah pendengar juga membenarkan anda menyediakan pilihan penyesuaian tambahan:rrreee
Cache WatcherCache watcher merekodkan data apabila kunci cache ditekan, terlepas, dikemas kini dan dilupakan.
🎜🎜🎜🎜Command Watcher🎜🎜Pemerhati arahan merekodkan hujah, pilihan, kod keluar dan output apabila arahan Artisan dilaksanakan. Jika anda ingin mengecualikan arahan tertentu daripada direkodkan oleh pendengar, anda boleh menentukan arahan dalam pilihanignore
failconfig/telescope.php
: 🎜rrreee🎜< a name=" dump-watcher">🎜🎜🎜Data Watcher🎜🎜Pemerhati data merekod dan memaparkan pembolehubah data anda dalam Teleskop. Apabila menggunakan Laravel, anda boleh menggunakan fungsidump
global untuk mengeluarkan pembolehubah. Tab pendengar data mesti dibuka dalam penyemak imbas untuk mengeluarkan pembolehubah, jika tidak pendengar akan mengabaikan output ini. 🎜🎜🎜🎜🎜Event Watcher 🎜🎜Event watcher merekodkan muatan, pendengar dan data siaran mana-mana acara yang dihantar oleh aplikasi. Pendengar acara mengabaikan peristiwa dalaman rangka kerja Laravel. 🎜🎜🎜🎜🎜Exception Watcher🎜🎜Exception watcher merekodkan data dan surih tindanan sebarang pengecualian yang boleh dilaporkan yang dilemparkan oleh aplikasi. 🎜🎜🎜🎜🎜Gate watcher 🎜🎜Gate watcher merekodkan data dan keputusan Gerbang aplikasi anda dan semakan dasar. Jika anda ingin mengecualikan keupayaan tertentu daripada pengelogan oleh pendengar, anda boleh menentukannya dalam pilihanignore_abilities
pada failconfig/telescope.php
: 🎜rrreee🎜🎜 🎜🎜 🎜Pendengar Proses🎜🎜Pendengar proses merekodkan data dan status sebarang kerja yang dihantar oleh permohonan. 🎜🎜🎜🎜🎜🎜Log Monitor 🎜🎜Pemantau log merekodkan data log untuk sebarang log yang ditulis oleh aplikasi. 🎜🎜🎜🎜🎜Monitor Mel
Monitor Mel membolehkan anda melihat pratonton dalam penyemak imbas e-mel dan data berkaitannya. Anda juga boleh memuat turun e-mel sebagai fail
.eml
..eml
文件。模型监听
只要调度了模型的
rrreeecreate
、updated
、restored
或deleted
事件,模型观察器就会记录模型更改。您可以通过监听器的events
选项指定应记录哪些模型事件:消息通知监听
消息通知监听器记录您的应用程序发送的所有通知。如果通知触发了电子邮件并且您启用了邮件监听器,则电子邮件也可以在邮件监视器屏幕上进行预览。
数据查询监听
数据查询监听器记录应用程序执行的所有查询的原始 SQL、绑定和执行时间。观察者还将任何慢于 100 毫秒的查询标记为
rrreeeslow
。您可以使用观察者的slow
选项自定义慢查询阈值:Redis 监听
必须启用 Redis 事件才能使 Redis 监听器正常运行。您可以通过在
app/Providers/AppServiceProvider.php
文件的boot
方法中调用Redis::enableEvents()
来启用 Redis 事件。Redis 监听器记录您的应用程序执行的所有 Redis 命令。如果您使用 Redis 进行缓存,Redis 监听器也会记录缓存命令。
请求监听
请求监听器记录与应用程序处理的任何请求相关联的请求、标头、会话和响应数据。您可以通过
size_limit
Selagi model
rrreeePendengar pemberitahuan mesej merekodkan Semua pemberitahuan anda dihantar oleh permohonan. Jika pemberitahuan mencetuskan e-mel dan anda telah mendayakan pendengar mel, e-mel itu juga boleh dipratonton pada skrin Monitor Mel.create
,updated
danrestore
> dijadualkan atau acaradipadamkan
, pemerhati model akan merekodkan perubahan model. Anda boleh menentukan acara model yang harus dilog melalui pilihanacara pendengar:
lambat
. Anda boleh menyesuaikan ambang pertanyaan perlahan menggunakan pilihan 🎜Acara Redis mesti didayakan untuk ini to work Redis listener berjalan seperti biasa. Anda boleh mendayakan acara Redis dengan memanggil🎜Pendengar Redis merekodkan semua arahan Redis yang dilaksanakan oleh aplikasi anda. Jika anda menggunakan Redis untuk caching, pendengar Redis juga mencatatkan arahan cache. 🎜🎜🎜🎜🎜Request Watcher 🎜🎜Pemerhati permintaan merekodkan permintaan, pengepala, sesi dan data respons yang dikaitkan dengan sebarang permintaan yang dikendalikan oleh aplikasi. Anda boleh mengehadkan data respons melalui pilihanRedis::enableEvents()
dalam kaedahboot
failapp/Providers/AppServiceProvider.php
. 🎜
size_limit
(dalam KB): 🎜rrreee🎜🎜🎜🎜🎜Schedule Listener 🎜🎜Schedule listener merekodkan arahan dan output mana-mana tugas berjadual yang dijalankan oleh aplikasi. 🎜🎜Artikel ini pertama kali diterbitkan di laman web 🎜LearnKu.com🎜. 🎜🎜