A simple way to log PDO queries and execution times.

Installs: 27 308

Dependents: 2

Stars: 4

Forks: 2

Open Issues: 1

Language: PHP

1.0.0 2013-08-23 20:16 UTC


Build Status

This library provides an alternative class to PDO. Its purpose is to log queries and their execution times. You can also set an observer that will be called whenever a new log entry is added.

$pdo = new Herrera\Pdo\Pdo('sqlite::memory');

    function (array $entry) {

$pdo->exec('CREATE TABLE test ()');

    [query] => CREATE TABLE test ()
    [time] => 0.00026607513427734
    [values] => Array

// retrieves all logged queries
$entries = $pdo->getLog();


Use Composer:

$ composer require "herrera-io/pdo-log=~1.0"


The logging Pdo class is a subclass of the real PDO class, so the only thing that has been changed is adding the ability to log certain actions, and that query() and prepare() will return the logging version of the PDOStatement class. This version of the class is not a subclass of the original, but all property gets/sets and method calls are mirrored. You can still retrieve the real instance using PdoStatement->getPdoStatement().