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
Namesort descending Modifiers Type Description
DatabaseLog::$connectionKey protected property The connection key for which this object is logging.
DatabaseLog::$queryLog protected property Cache of logged queries. This will only be used if the query logger is enabled.
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::findCaller public function Determine the routine that called this query.
DatabaseLog::get public function Retrieve the query log for the specified logging key so far.
DatabaseLog::log public function Log a query to all active logging keys.
DatabaseLog::start public function Begin logging queries to the specified connection and logging key.
DatabaseLog::__construct public function Constructor.