Skip to content
This repository was archived by the owner on Feb 28, 2023. It is now read-only.

Commit c446e6e

Browse files
author
rok
committed
use settings and updated code for laravel 5.6
1 parent 9d0b494 commit c446e6e

File tree

1 file changed

+56
-57
lines changed

1 file changed

+56
-57
lines changed

src/LaravelSlowQueryLoggerProvider.php

+56-57
Original file line numberDiff line numberDiff line change
@@ -2,73 +2,72 @@
22

33
namespace Rokde\LaravelSlowQueryLogger;
44

5-
use Illuminate\Contracts\Events\Dispatcher;
5+
use Exception;
66
use Illuminate\Database\Events\QueryExecuted;
7-
use Illuminate\Log\Writer;
7+
use Illuminate\Support\Facades\DB;
88
use Illuminate\Support\ServiceProvider;
9+
use Psr\Log\LoggerInterface;
910

1011
class LaravelSlowQueryLoggerProvider extends ServiceProvider
1112
{
12-
/**
13-
* Bootstrap the application services.
14-
* @param Dispatcher $events
15-
* @param Writer $log
16-
*/
17-
public function boot(Dispatcher $events, Writer $log)
18-
{
19-
$this->publishes([
20-
__DIR__ . '/../config/slow-query-logger.php' => config_path('slow-query-logger.php'),
21-
], 'config');
13+
/**
14+
* Bootstrap the application services.
15+
* @param LoggerInterface $log
16+
*/
17+
public function boot(LoggerInterface $log)
18+
{
19+
if ($this->app->runningInConsole()) {
20+
$this->publishes([
21+
__DIR__ . '/../config/slow-query-logger.php' => config_path('slow-query-logger.php'),
22+
], 'config');
23+
}
2224

23-
$this->setupListener($events, $log);
24-
}
25+
$this->setupListener($log);
26+
}
2527

26-
/**
27-
* Register the application services.
28-
*
29-
* @return void
30-
*/
31-
public function register()
32-
{
33-
$this->mergeConfigFrom(
34-
__DIR__ . '/../config/slow-query-logger.php', 'slow-query-logger'
35-
);
36-
}
28+
/**
29+
* Register the application services.
30+
*
31+
* @return void
32+
*/
33+
public function register()
34+
{
35+
$this->mergeConfigFrom(
36+
__DIR__ . '/../config/slow-query-logger.php', 'slow-query-logger'
37+
);
38+
}
3739

38-
/**
39-
* setting up listener
40-
*
41-
* @param Dispatcher $events
42-
* @param Writer $log
43-
*/
44-
private function setupListener(Dispatcher $events, Writer $log)
45-
{
46-
$environments = config('slow-query-logger.environments', []);
40+
/**
41+
* setting up listener
42+
*
43+
* @param LoggerInterface $log
44+
*/
45+
private function setupListener(LoggerInterface $log)
46+
{
47+
if (!config('slow-query-logger.enabled')) {
48+
return;
49+
}
4750

48-
if (!$this->app->environment($environments)) {
49-
return;
50-
}
51+
DB::listen(function (QueryExecuted $queryExecuted) use ($log) {
52+
$sql = $queryExecuted->sql;
53+
$bindings = $queryExecuted->bindings;
54+
$time = $queryExecuted->time;
5155

52-
$events->listen(QueryExecuted::class, function (QueryExecuted $queryExecuted) use ($log) {
53-
$sql = $queryExecuted->sql;
54-
$bindings = $queryExecuted->bindings;
55-
$time = $queryExecuted->time;
56+
$logSqlQueriesSlowerThan = (float) config('slow-query-logger.time-to-log', -1);
57+
if ($logSqlQueriesSlowerThan < 0 || $time < $logSqlQueriesSlowerThan) {
58+
return;
59+
}
5660

57-
$logSqlQueriesSlowerThan = config('slow-query-logger.time-to-log');
58-
if ($logSqlQueriesSlowerThan < 0 || $time < $logSqlQueriesSlowerThan) {
59-
return;
60-
}
61+
$level = config('slow-query-logger.log-level', 'debug');
62+
try {
63+
foreach ($bindings as $val) {
64+
$sql = preg_replace('/\?/', "'{$val}'", $sql, 1);
65+
}
6166

62-
$level = config('slow-query-logger.log-level', 'debug');
63-
try {
64-
foreach ($bindings as $val) {
65-
$sql = preg_replace('/\?/', "'{$val}'", $sql, 1);
66-
}
67-
68-
$log->log($level, $time . ' ' . $sql);
69-
} catch (\Exception $e) {
70-
// be quiet on error
71-
}
72-
});
73-
}
67+
$log->log($level, $time . ' ' . $sql);
68+
} catch (Exception $e) {
69+
// be quiet on error
70+
}
71+
});
72+
}
7473
}

0 commit comments

Comments
 (0)