lingxi / laravel-sql-log by RryLee

A tool to log all queries for laravel/lumen application.
1,722
0
6
Package Data
Maintainer Username: RryLee
Maintainer Contact: contact@feyman.me (lingxi)
Package Create Date: 2018-01-02
Package Last Update: 2018-02-02
Language: PHP
License: MIT
Last Refreshed: 2024-04-18 15:16:57
Package Statistics
Total Downloads: 1,722
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 0
Total Watchers: 6
Total Forks: 0
Total Open Issues: 0

Installation

composer require lingxi/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(\Lingxi\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(\Lingxi\LaravelSqlLogger\Providers\LumenServiceProvider::class);
}

If you use Laravel < 5.5 run:

php artisan vendor:publish --provider="Lingxi\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 "Lingxi\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