Log the queries of the QueryBuilder as well

Signed-off-by: Joas Schilling <coding@schilljs.com>
This commit is contained in:
Joas Schilling 2016-10-28 11:29:38 +02:00 committed by Lukas Reschke
parent 2cd92d0abb
commit cd13f50a3f
No known key found for this signature in database
GPG Key ID: B9F6980CF6E759B1
1 changed files with 23 additions and 0 deletions

View File

@ -139,6 +139,29 @@ class QueryBuilder implements IQueryBuilder {
* @return \Doctrine\DBAL\Driver\Statement|int
*/
public function execute() {
if (\OC::$server->getConfig()->getSystemValue('log_query', false)) {
$params = [];
foreach ($this->getParameters() as $placeholder => $value) {
if (is_array($value)) {
$params[] = $placeholder . ' => (\'' . implode('\', \'', $value) . '\')';
} else {
$params[] = $placeholder . ' => \'' . $value . '\'';
}
}
if (empty($params)) {
\OC::$server->getLogger()->debug('DB QueryBuilder: \'{query}\'', [
'query' => $this->getSQL(),
'app' => 'core',
]);
} else {
\OC::$server->getLogger()->debug('DB QueryBuilder: \'{query}\' with parameters: {params}', [
'query' => $this->getSQL(),
'params' => implode(', ', $params),
'app' => 'core',
]);
}
}
return $this->queryBuilder->execute();
}