Added the possibility to log executed SQL statements (DEV mode only)

This commit is contained in:
Bernd Bestel
2023-07-31 17:08:55 +02:00
parent 73ad9d39ab
commit 5d48b02b37
3 changed files with 23 additions and 4 deletions

View File

@@ -29,9 +29,18 @@ class DatabaseService
{
$pdo = $this->GetDbConnectionRaw();
if (GROCY_MODE === 'dev')
{
$logFilePath = GROCY_DATAPATH . '/sql.log';
if (file_exists($logFilePath))
{
file_put_contents($logFilePath, $sql . PHP_EOL, FILE_APPEND);
}
}
if ($pdo->exec($sql) === false)
{
throw new Exception($pdo->errorInfo());
throw new \Exception($pdo->errorInfo());
}
return true;
@@ -49,6 +58,17 @@ class DatabaseService
self::$DbConnection = new Database($this->GetDbConnectionRaw());
}
if (GROCY_MODE === 'dev')
{
$logFilePath = GROCY_DATAPATH . '/sql.log';
if (file_exists($logFilePath))
{
self::$DbConnection->setQueryCallback(function ($query, $params) use ($logFilePath) {
file_put_contents($logFilePath, $query . ' #### ' . implode(';', $params) . PHP_EOL, FILE_APPEND);
});
}
}
return self::$DbConnection;
}