8
0
oxid-sql-logger/README.md

1.4 KiB

Oxid eShop SQL Logger

Returns all SQL queries into console of a Browser.

Install

composer require --dev d3/oxid-sql-logger

Usage

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();

Screenshots

Browser:

Example all sqls

CLI:

Example CLI

Configuration

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
];

Credits

Many thanks to Tobias Matthaiou for his inspiration.