PHPackages                             mamun2074/laravel-query-logger - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Debugging &amp; Profiling](/categories/debugging)
4. /
5. mamun2074/laravel-query-logger

ActiveLibrary[Debugging &amp; Profiling](/categories/debugging)

mamun2074/laravel-query-logger
==============================

Advanced query logger for Laravel with N+1 detection, slow query highlighting and route-based filtering

v1.2.0(5mo ago)011MITPHPPHP &gt;=7.1

Since Jan 11Pushed 5mo agoCompare

[ Source](https://github.com/mamun2074/laravel-query-logger)[ Packagist](https://packagist.org/packages/mamun2074/laravel-query-logger)[ RSS](/packages/mamun2074-laravel-query-logger/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (1)Versions (4)Used By (0)

Laravel Query Logger
====================

[](#laravel-query-logger)

A lightweight **Laravel query logger package** that logs **route-wise SQL queries**, detects **N+1 problems**, and highlights **slow queries** — without any web UI overhead.

Designed for **local &amp; staging debugging**, not production.

---

✨ Features
----------

[](#-features)

- Route-wise SQL query logging
- Exact SQL with bindings
- Total query count &amp; execution time
- Slow query detection
- N+1 query detection
- ENV-controlled
- File-based logging (no UI)
- Laravel auto-discovery support

---

🚫 What This Package Does NOT Do
-------------------------------

[](#-what-this-package-does-not-do)

- No web UI / dashboard
- No production monitoring
- No query modification
- No framework hacks

---

📦 Installation
--------------

[](#-installation)

```
composer require mamun2074/laravel-query-logger
```

---

⚙️ Configuration
----------------

[](#️-configuration)

Publish config file:

```
php artisan vendor:publish --tag=query-logger-config
```

Environment variables:

```
QUERY_LOGGER=true
QUERY_SLOW_MS=100
N_PLUS_TYPE=raw
```

---

🧪 Usage
-------

[](#-usage)

Call any route that executes DB queries:

```
GET /api/v1/users/1

```

Logs will be written to:

```
storage/logs/query-logger/YYYY-MM-DD.log

```

---

📄 Sample Log Output
-------------------

[](#-sample-log-output)

```
{
    "url": "http:\/\/localhost\/api\/public\/api\/v1\/login",
    "method": "POST",
    "query_count": 10,
    "total_time": 66.79,
    "slow_queries": [],
    "n_plus_one": {
        "select * from `oauth_clients` where `id` = ? limit ?": [
            {
                "sql": "select * from `oauth_clients` where `id` = 3 limit 1",
                "raw": "select * from `oauth_clients` where `id` = ? limit 1",
                "time": 0.61,
                "file": "C:\\xampp81\\htdocs\\api\\app\\Http\\Controllers\\API\\v1\\AuthController.php:66"
            },
            {
                "sql": "select * from `oauth_clients` where `id` = 3 limit 1",
                "raw": "select * from `oauth_clients` where `id` = ? limit 1",
                "time": 0.31,
                "file": "C:\\xampp81\\htdocs\\api\\app\\Http\\Controllers\\API\\v1\\AuthController.php:66"
            },
            {
                "sql": "select * from `oauth_clients` where `id` = 3 limit 1",
                "raw": "select * from `oauth_clients` where `id` = ? limit 1",
                "time": 0.84,
                "file": "C:\\xampp81\\htdocs\\api\\app\\Http\\Controllers\\API\\v1\\AuthController.php:66"
            }
        ]
    },
    "queries": [
        {
            "sql": "select * from `users` where `email` = 'mahmud@gmail.com' limit 1",
            "raw": "select * from `users` where `email` = ? limit 1",
            "time": 55.42,
            "file": "C:\\xampp81\\htdocs\\api\\app\\Http\\Controllers\\API\\v1\\AuthController.php:56"
        },
        {
            "sql": "select exists(select * from `oauth_personal_access_clients`) as `exists`",
            "raw": "select exists(select * from `oauth_personal_access_clients`) as `exists`",
            "time": 1.92,
            "file": "C:\\xampp81\\htdocs\\api\\app\\Http\\Controllers\\API\\v1\\AuthController.php:66"
        },
        {
            "sql": "select * from `oauth_personal_access_clients` order by `id` desc limit 1",
            "raw": "select * from `oauth_personal_access_clients` order by `id` desc limit 1",
            "time": 0.35,
            "file": "C:\\xampp81\\htdocs\\api\\app\\Http\\Controllers\\API\\v1\\AuthController.php:66"
        },
        {
            "sql": "select * from `oauth_clients` where `oauth_clients`.`id` = 3 limit 1",
            "raw": "select * from `oauth_clients` where `oauth_clients`.`id` = ? limit 1",
            "time": 2.2,
            "file": "C:\\xampp81\\htdocs\\api\\app\\Http\\Controllers\\API\\v1\\AuthController.php:66"
        },
        {
            "sql": "select * from `oauth_clients` where `id` = 3 limit 1",
            "raw": "select * from `oauth_clients` where `id` = ? limit 1",
            "time": 0.61,
            "file": "C:\\xampp81\\htdocs\\api\\app\\Http\\Controllers\\API\\v1\\AuthController.php:66"
        },
        {
            "sql": "select * from `oauth_clients` where `id` = 3 limit 1",
            "raw": "select * from `oauth_clients` where `id` = ? limit 1",
            "time": 0.31,
            "file": "C:\\xampp81\\htdocs\\api\\app\\Http\\Controllers\\API\\v1\\AuthController.php:66"
        },
        {
            "sql": "update `oauth_access_tokens` set `name` = 'Personal Access Token', `oauth_access_tokens`.`updated_at` = '2026-01-11 17:42:08' where `id` = 'd041ddee1fcf30a408c776ddd0628ba76ddf96682dd3a93fdbe8077f0576ca75fda7ee357df1a42d'",
            "raw": "update `oauth_access_tokens` set `name` = ?, `oauth_access_tokens`.`updated_at` = ? where `id` = ?",
            "time": 1.88,
            "file": "C:\\xampp81\\htdocs\\api\\app\\Http\\Controllers\\API\\v1\\AuthController.php:66"
        }
    ]
}
```

---

🚨 Important Notes
-----------------

[](#-important-notes)

Exact file &amp; line detection is **not reliable** with `DB::listen`.
This package logs **route + controller action**, which is the correct approach.

---

🐘 Supported Versions
--------------------

[](#-supported-versions)

- PHP 7.1+
- Laravel 5+

---

📜 License
---------

[](#-license)

MIT License

---

👨‍💻 Author
----------

[](#‍-author)

**Md Al-Mahmud**

---

⭐ Contributing
--------------

[](#-contributing)

Pull requests are welcome.

###  Health Score

30

—

LowBetter than 62% of packages

Maintenance70

Regular maintenance activity

Popularity5

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity32

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~3 days

Total

3

Last Release

168d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/b5e34af20a5dc497a4e46afba43a06b9d699d8ed9c52aee5d7ac97e4bfd00392?d=identicon)[mahmud\_pau](/maintainers/mahmud_pau)

---

Top Contributors

[![mamun2074](https://avatars.githubusercontent.com/u/15967433?v=4)](https://github.com/mamun2074 "mamun2074 (14 commits)")

### Embed Badge

![Health badge](/badges/mamun2074-laravel-query-logger/health.svg)

```
[![Health](https://phpackages.com/badges/mamun2074-laravel-query-logger/health.svg)](https://phpackages.com/packages/mamun2074-laravel-query-logger)
```

###  Alternatives

[barryvdh/laravel-debugbar

PHP Debugbar integration for Laravel

19.3k133.0M762](/packages/barryvdh-laravel-debugbar)[fruitcake/laravel-debugbar

PHP Debugbar integration for Laravel

19.3k2.3M65](/packages/fruitcake-laravel-debugbar)[psalm/plugin-laravel

Psalm plugin for Laravel

3355.3M346](/packages/psalm-plugin-laravel)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
