Skip to content

Commit ecdbd4b

Browse files
authored
Merge pull request #29 from Liamb17/3.x
fix: check driver is Cake Driver before trying to access
2 parents cf4305d + 1a8f49e commit ecdbd4b

File tree

3 files changed

+20
-9
lines changed

3 files changed

+20
-9
lines changed

src/Http/SentryClient.php

+6-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
namespace CakeSentry\Http;
55

66
use Cake\Core\Configure;
7+
use Cake\Database\Driver;
78
use Cake\Datasource\ConnectionManager;
89
use Cake\Error\PhpError;
910
use Cake\Event\Event;
@@ -53,13 +54,17 @@ protected function getQueryLoggers(): void
5354
$includeSchemaReflection = (bool)Configure::read('CakeSentry.includeSchemaReflection');
5455

5556
foreach ($configs as $name) {
57+
$logger = null;
5658
$connection = ConnectionManager::get($name);
5759
if ($connection->configName() === 'debug_kit') {
5860
continue;
5961
}
6062
/** @var \Cake\Database\Driver $driver */
6163
$driver = $connection->getDriver();
62-
$logger = $driver->getLogger();
64+
65+
if ($driver instanceof Driver) {
66+
$logger = $driver->getLogger();
67+
}
6368

6469
if ($logger instanceof CakeSentryLog) {
6570
$logger->setIncludeSchema($includeSchemaReflection);

src/Middleware/CakeSentryPerformanceMiddleware.php

+8-5
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
*/
1414
namespace CakeSentry\Middleware;
1515

16+
use Cake\Database\Driver;
1617
use Cake\Datasource\ConnectionManager;
1718
use Cake\Event\EventManager;
1819
use Cake\Http\Server;
@@ -121,11 +122,13 @@ protected function addQueryData(): void
121122
$logger = null;
122123
/** @var \Cake\Database\Driver $driver */
123124
$driver = $connection->getDriver();
124-
$driverConfig = $driver->config();
125-
if ($driverConfig['sentryLog'] ?? false) {
126-
$logger = $driver->getLogger();
127-
if ($logger instanceof CakeSentryLog) {
128-
$logger->setPerformanceMonitoring(true);
125+
if ($driver instanceof Driver) {
126+
$driverConfig = $driver->config();
127+
if ($driverConfig['sentryLog'] ?? false) {
128+
$logger = $driver->getLogger();
129+
if ($logger instanceof CakeSentryLog) {
130+
$logger->setPerformanceMonitoring(true);
131+
}
129132
}
130133
}
131134
}

src/Middleware/CakeSentryQueryMiddleware.php

+6-3
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
namespace CakeSentry\Middleware;
1515

1616
use Cake\Core\Configure;
17+
use Cake\Database\Driver;
1718
use Cake\Datasource\ConnectionManager;
1819
use CakeSentry\Database\Log\CakeSentryLog;
1920
use Psr\Http\Message\ResponseInterface;
@@ -59,9 +60,11 @@ protected function enableQueryLogging(): void
5960
$logger = null;
6061
/** @var \Cake\Database\Driver $driver */
6162
$driver = $connection->getDriver();
62-
$driverConfig = $driver->config();
63-
if ($driverConfig['sentryLog'] ?? false) {
64-
$logger = $driver->getLogger();
63+
if ($driver instanceof Driver) {
64+
$driverConfig = $driver->config();
65+
if ($driverConfig['sentryLog'] ?? false) {
66+
$logger = $driver->getLogger();
67+
}
6568
}
6669

6770
$logger = new CakeSentryLog($logger, $name, $includeSchemaReflection);

0 commit comments

Comments
 (0)