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
Name Modifiers Type Descriptionsort ascending
DatabaseLog::$connectionKey protected property The connection key for which this object is logging.
DatabaseLog::end public function Stop logging for the specified logging key.
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::clear public function Empty the query log for the specified logging key.
DatabaseLog::findCaller public function Determine the routine that called this query.
DatabaseLog::__construct public function Constructor.
DatabaseLog::$queryLog protected property Cache of logged queries. This will only be used if the query logger is enabled.
DatabaseLog::start public function Begin logging queries to the specified connection and logging key.