Merge pull request #1017 from LukeTowers/patch-2
Fix support for connection transaction logging in Laravel 5.5
This commit is contained in:
commit
0c785d2da9
|
@ -351,50 +351,47 @@ class LaravelDebugbar extends DebugBar
|
|||
}
|
||||
|
||||
try {
|
||||
$db->getEventDispatcher()->listen([
|
||||
$db->getEventDispatcher()->listen(
|
||||
\Illuminate\Database\Events\TransactionBeginning::class,
|
||||
'connection.*.beganTransaction',
|
||||
], function ($transaction) use ($queryCollector) {
|
||||
|
||||
// Laravel 5.2 changed the way some core events worked. We must account for
|
||||
// the first argument being an "event object", where arguments are passed
|
||||
// via object properties, instead of individual arguments.
|
||||
if($transaction instanceof \Illuminate\Database\Events\TransactionBeginning) {
|
||||
$connection = $transaction->connection;
|
||||
} else {
|
||||
$connection = $transaction;
|
||||
function ($transaction) use ($queryCollector) {
|
||||
$queryCollector->collectTransactionEvent('Begin Transaction', $transaction->connection);
|
||||
}
|
||||
);
|
||||
|
||||
$queryCollector->collectTransactionEvent('Begin Transaction', $connection);
|
||||
});
|
||||
|
||||
$db->getEventDispatcher()->listen([
|
||||
$db->getEventDispatcher()->listen(
|
||||
\Illuminate\Database\Events\TransactionCommitted::class,
|
||||
'connection.*.committed',
|
||||
], function ($transaction) use ($queryCollector) {
|
||||
|
||||
if($transaction instanceof \Illuminate\Database\Events\TransactionCommitted) {
|
||||
$connection = $transaction->connection;
|
||||
} else {
|
||||
$connection = $transaction;
|
||||
function ($transaction) use ($queryCollector) {
|
||||
$queryCollector->collectTransactionEvent('Commit Transaction', $transaction->connection);
|
||||
}
|
||||
);
|
||||
|
||||
$queryCollector->collectTransactionEvent('Commit Transaction', $connection);
|
||||
});
|
||||
|
||||
$db->getEventDispatcher()->listen([
|
||||
$db->getEventDispatcher()->listen(
|
||||
\Illuminate\Database\Events\TransactionRolledBack::class,
|
||||
'connection.*.rollingBack',
|
||||
], function ($transaction) use ($queryCollector) {
|
||||
|
||||
if($transaction instanceof \Illuminate\Database\Events\TransactionRolledBack) {
|
||||
$connection = $transaction->connection;
|
||||
} else {
|
||||
$connection = $transaction;
|
||||
function ($transaction) use ($queryCollector) {
|
||||
$queryCollector->collectTransactionEvent('Rollback Transaction', $transaction->connection);
|
||||
}
|
||||
);
|
||||
|
||||
$queryCollector->collectTransactionEvent('Rollback Transaction', $connection);
|
||||
});
|
||||
$db->getEventDispatcher()->listen(
|
||||
'connection.*.beganTransaction',
|
||||
function ($event, $params) use ($queryCollector) {
|
||||
$queryCollector->collectTransactionEvent('Begin Transaction', $params[0]);
|
||||
}
|
||||
);
|
||||
|
||||
$db->getEventDispatcher()->listen(
|
||||
'connection.*.committed',
|
||||
function ($event, $params) use ($queryCollector) {
|
||||
$queryCollector->collectTransactionEvent('Commit Transaction', $params[0]);
|
||||
}
|
||||
);
|
||||
|
||||
$db->getEventDispatcher()->listen(
|
||||
'connection.*.rollingBack',
|
||||
function ($event, $params) use ($queryCollector) {
|
||||
$queryCollector->collectTransactionEvent('Rollback Transaction', $params[0]);
|
||||
}
|
||||
);
|
||||
} catch (\Exception $e) {
|
||||
$this->addThrowable(
|
||||
new Exception(
|
||||
|
|
Loading…
Reference in New Issue