listen-sql 一個在控制台看到即時sql 操作的工具
在Laravel 中列印sql,以往的做法往往是,透過DB::listen 監聽,然後透過Log::info 寫入到log 中。
這樣寫入的 log,我們想查看往往是去 storage 資料夾下找到當天的 log 文件,然後開啟。有個不好的地方是,如果在編輯器打開,往往不會即時更新。請求完畢後,可能需要切到其他 tab 再切換回來才會更新。同時,太多的 sql 日誌會和其他 log 混雜在一起,會顯得有些混亂。
除此之外,也可以 tail -f storage/logs/xx.log 來即時查看 log 的輸出。這樣有個不好的地方是,如果在 config/app.php 定義了 log => 'daily',每天都要輸入新的檔名。
現在,我們可以只使用一個指令來實作監聽應用程式裡的 sql 操作。
安裝
1. 透過composer 安裝(eleven26/listen-sql #)。
composer require "eleven26/listen-sql:~1.0.3"
2. 註冊Service Provider
Laravel: 修改檔案config/app.php,Laravel 5.5 不需要
'providers' => [ //... Eleven26\ListenSql\ListenSqlServiceProvider::class, ],
Lumen: 修改檔案bootstrap/app.php
$app->register(Eleven26\ListenSql\ListenSqlServiceProvider::class);
使用
php artisan listen-sql:start
到這一步,去頁面刷新的時候,就可以在控制台看到sql 語句了
更多Laravel相關技術文章,請造訪Laravel框架入門教學欄位進行學習!
以上是控制台實時查看 sql的詳細內容。更多資訊請關注PHP中文網其他相關文章!