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.

Hierarchy

Expanded class hierarchy of DatabaseLog

File

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

Members

Contains filters are case sensitive
Namesort ascending Modifiers Type Description
DatabaseLog::__construct public function Constructor.
DatabaseLog::start public function Begin logging queries to the specified connection and logging key.
DatabaseLog::log public function Log a query to all active logging keys.
DatabaseLog::get public function Retrieve the query log for the specified logging key so far.
DatabaseLog::findCaller public function Determine the routine that called this query.
DatabaseLog::end public function Stop logging for the specified logging key.
DatabaseLog::clear public function Empty the query log for the specified logging key.
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.