AppServiceProvider.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. namespace App\Providers;
  3. use Illuminate\Support\ServiceProvider;
  4. use Illuminate\Support\Facades\DB;
  5. use Illuminate\Support\Facades\Log;
  6. class AppServiceProvider extends ServiceProvider
  7. {
  8. /**
  9. * Register any application services.
  10. *
  11. * @return void
  12. */
  13. public function register()
  14. {
  15. //
  16. }
  17. /**
  18. * Bootstrap any application services.
  19. *
  20. * @return void
  21. */
  22. public function boot()
  23. {
  24. //把SQL输出到日志中
  25. if ($this->app->environment('local')) { // 仅在本地环境启用
  26. DB::listen(function ($query) {
  27. // 格式化 SQL 语句
  28. $sql = $query->sql;
  29. foreach ($query->bindings as $binding) {
  30. $sql = preg_replace('/\?/', "'" . addslashes($binding) . "'", $sql, 1);
  31. }
  32. // 输出到控制台
  33. //dump($sql . ' [' . $query->time . 'ms]');
  34. //输出到log
  35. Log::info($sql . ' [' . $query->time . 'ms]');
  36. });
  37. }
  38. }
  39. }