feyman / laravel-sql-logger
A tool to log all queries for laravel/lumen application.
Installs: 5 800
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 2
Forks: 1
Open Issues: 1
Requires
- illuminate/support: 5.0.* || 5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.*
This package is not auto-updated.
Last update: 2024-12-08 06:42:42 UTC
README
📝 This package allows you to log SQL queries (and slow SQL queries) to log file in Laravel/Lumen framework. Inspiration form mnabialek/laravel-sql-logger
Installation
composer require feyman/laravel-sql-logger --dev
Please keep the --dev
option. (it's recommended to use this package only for development).
The Logger will be enabled when APP_DEBUG
is true
Configuration
If you use Laravel < 5.5 open app/Providers/AppServiceProvider.php
and in register
method add:
public function register() { if ($this->app['config']->get('app.debug')) { $this->app->register(\Feyman\LaravelSqlLogger\Providers\ServiceProvider::class); } }
Laravel 5.5 uses Package Auto-Discovery and it will automatically load this service provider so you don't need to add anything into above file.
If you are using Lumen open bootstrap/app.php
and add:
if (env('APP_DEBUG')) { $app->register(\Feyman\LaravelSqlLogger\Providers\LumenServiceProvider::class); }
If you use Laravel < 5.5 run:
php artisan vendor:publish --provider="Feyman\LaravelSqlLogger\Providers\ServiceProvider"
in your console to publish default configuration files.
If you are using Laravel 5.5 run:
php artisan vendor:publish
and choose the number matching "Feyman\LaravelSqlLogger\Providers\ServiceProvider"
provider.
This operation will create config file in config/sql_loger.php
.
By default you should not edit published file because all the settings are loaded from .env
file by default.
For Lumen you should skip this step.
In your .env file add the following entries:
# Whether all SQL queries should be logged
SQL_LOG_QUERIES=true
# Whether slow SQL queries should be logged (you can log all queries and
# also slow queries in separate file or you might to want log only slow queries)
SQL_LOG_SLOW_QUERIES=true
# Time of query (in milliseconds) when this query is considered as slow
SQL_SLOW_QUERIES_MIN_EXEC_TIME=100
#Whether slow SQL queries should be logged (you can log all queries and
#also slow queries in separate file or you might to want log only slow queries)
SQL_LOG_OVERRIDE=false
# Directory where log files will be saved
SQL_LOG_DIRECTORY=logs/sql
# Whether execution time in log file should be displayed in seconds(by default it's in milliseconds)
SQL_CONVERT_TIME_TO_SECONDS=false
# Whether artisan queries should be logged to separate files
SQL_LOG_SEPARATE_ARTISAN=false
License
MIT