Query Logger is a lightweight PHP library for logging SQL queries executed via PDO. It is framework-agnostic but can be seamlessly integrated into Laravel.
- Logs all SQL queries with execution time
- Includes a stack trace for better debugging
- Works with any PHP project using PDO
- Simple and efficient implementation
You can install the package via Composer:
composer require rifat-simoom/query-logger
require 'vendor/autoload.php';
use RifatSimoom\QueryLogger;
$pdo = new PDO('mysql:host=localhost;dbname=test', 'root', '');
$logger = new QueryLogger($pdo, __DIR__ . '/logs/query.log');
$logger->startLogging();
For Laravel applications, you can integrate it as follows:
use RifatSimoom\QueryLogger;
use Illuminate\Support\Facades\DB;
$logger = new QueryLogger(DB::connection()->getPdo(), storage_path("/logs/get-token-query.log"));
$logger->startLogging();
By default, the logger saves queries in the specified log file. You can customize:
- Log file location
- Formatting of logged queries
- Filtering specific queries
[2025-04-02 17:14:01]
1. SELECT * FROM users WHERE email = 'test@example.com'
Time: 0.00235s
Trace:
/var/www/html/repos/query-logger/src/QueryLogger.php:46
/var/www/html/repos/query-logger/src/LoggedStatement.php:37
/var/www/html/repos/query-logger/tests/QueryLoggerTest.php:34```
Contributions are welcome! Please fork the repository and submit a pull request.
This project is open-sourced under the MIT License.
For issues, please open a GitHub issue or reach out to rifat.simoom@gmail.com.