Database query logger.

We log queries in a separate object rather than in the connection object because we want to be able to see all queries sent to a given database, not database target. If we logged the queries in each connection object we would not be able to track what queries went to which target.

Every connection has one and only one logging object on it for all targets and logging keys.


Expanded class hierarchy of DatabaseLog


core/includes/database/, line 18
Logging classes for the database layer.


Contains filters are case sensitive
Name Modifiers Typesort ascending Description
DatabaseLog::$queryLog protected property Cache of logged queries. This will only be used if the query logger is enabled.
DatabaseLog::$connectionKey protected property The connection key for which this object is logging.
DatabaseLog::__construct public function Constructor.
DatabaseLog::start public function Begin logging queries to the specified connection and logging key.
DatabaseLog::get public function Retrieve the query log for the specified logging key so far.
DatabaseLog::clear public function Empty the query log for the specified logging key.
DatabaseLog::end public function Stop logging for the specified logging key.
DatabaseLog::log public function Log a query to all active logging keys.
DatabaseLog::findCaller public function Determine the routine that called this query.