Returns all SQL queries into console of a Browser.
composer require --dev d3/oxid-sql-logger
Just set the function D3StartSQLLog()
somewhere and from that point on all SQLs will be logged.
\D3StartSQLLog('specific log message');
$db = \OxidEsales\Eshop\Core\DatabaseProvider::getDb(\OxidEsales\Eshop\Core\DatabaseProvider::FETCH_MODE_ASSOC);
$list = $db->getAll('SELECT * FROM oxarticles WHERE oxprice < ? LIMIT 100', [49.99]);
\D3StopSQLLog();
Browser:
CLI:
Add the sections to the config.inc.php of the shop if needed:
$this->SqlLoggerGUIHandlers = [
\Monolog\Handler\BrowserConsoleHandler::class,
\D3\OxidSqlLogger\Handler\d3FirePHPHandler::class
];
Standard handlers are BrowserConsoleHandler and d3FirePHPHandler.
$this->SqlLoggerCLIHandlers = [
...
];
Standard handler is StreamHandler.
$this->d3FirePHPOptions = [
\D3\OxidSqlLogger\Handler\d3FirePHPHandler::ADD_TRACE
];
Many thanks to Tobias Matthaiou for his inspiration.