PHPackages                             ucan-lab/laravel-blink-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. [Logging &amp; Monitoring](/categories/logging)
4. /
5. ucan-lab/laravel-blink-logger

ActiveLibrary[Logging &amp; Monitoring](/categories/logging)

ucan-lab/laravel-blink-logger
=============================

Comprehensive Logging Tool for Laravel.

v4.0.0(6d ago)138.0k↓69.8%1[2 issues](https://github.com/ucan-lab/laravel-blink-logger/issues)[4 PRs](https://github.com/ucan-lab/laravel-blink-logger/pulls)MITPHPPHP ^8.3

Since Mar 29Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/ucan-lab/laravel-blink-logger)[ Packagist](https://packagist.org/packages/ucan-lab/laravel-blink-logger)[ RSS](/packages/ucan-lab-laravel-blink-logger/feed)WikiDiscussions main Synced 2d ago

READMEChangelog (10)Dependencies (8)Versions (21)Used By (0)

[![Laravel Blink Logger](lbl_social.jpg)](lbl_social.jpg)

Laravel Blink Logger
====================

[](#laravel-blink-logger)

[![PHP Version Require](https://camo.githubusercontent.com/adae1d0a224634e1f8b325a917e6f30cad10cb2609a9508b1722952f00a595db/68747470733a2f2f706f7365722e707567782e6f72672f7563616e2d6c61622f6c61726176656c2d626c696e6b2d6c6f676765722f726571756972652f706870)](https://packagist.org/packages/ucan-lab/laravel-blink-logger)[![Latest Stable Version](https://camo.githubusercontent.com/ae88272ead053be8644501c0538d803d0637d6d6fb55465ae4962e4bac0e5a26/68747470733a2f2f706f7365722e707567782e6f72672f7563616e2d6c61622f6c61726176656c2d626c696e6b2d6c6f676765722f76)](https://packagist.org/packages/ucan-lab/laravel-blink-logger)[![Total Downloads](https://camo.githubusercontent.com/2741bbc47123bf812e8895cd377b1a4615405e820a874861805ab002e1a72531/68747470733a2f2f706f7365722e707567782e6f72672f7563616e2d6c61622f6c61726176656c2d626c696e6b2d6c6f676765722f646f776e6c6f616473)](https://packagist.org/packages/ucan-lab/laravel-blink-logger)[![Monthly Downloads](https://camo.githubusercontent.com/f0449acdc09f3d5d353a5c1220f2b39ddf26cc72afdd925af819c1b186ec2b7a/68747470733a2f2f706f7365722e707567782e6f72672f7563616e2d6c61622f6c61726176656c2d626c696e6b2d6c6f676765722f642f6d6f6e74686c79)](https://packagist.org/packages/ucan-lab/laravel-blink-logger)[![License](https://camo.githubusercontent.com/7bc8505c49a51dc6438ac516ced893d66220f553e749b4432e84e045219e9e3f/68747470733a2f2f706f7365722e707567782e6f72672f7563616e2d6c61622f6c61726176656c2d626c696e6b2d6c6f676765722f6c6963656e7365)](https://packagist.org/packages/ucan-lab/laravel-blink-logger)

English | [日本語](README.ja.md)

Comprehensive Logging Tool for Laravel.

Requirements
------------

[](#requirements)

PackageVersionPHP^8.3Laravel^12.0 / ^13.0Note

Laravel 11 and PHP 8.2 are no longer supported as of this major release: the minimum PHP version is raised to 8.3, and Laravel support is narrowed to 12 and 13. If you are on Laravel 11 or PHP 8.2, please upgrade before installing this version, or stay on the previous major line.

Installation
------------

[](#installation)

Require this package with composer. It is recommended to only require the package for development.

```
$ composer require --dev ucan-lab/laravel-blink-logger

```

Debug log output is disabled by default, so please enable it in `.env`.

```
LOG_QUERY_ENABLED=true
LOG_HTTP_REQUEST_ENABLED=true
LOG_HTTP_RESPONSE_ENABLED=true
LOG_HTTP_CLIENT_REQUEST_ENABLED=true
LOG_HTTP_CLIENT_RESPONSE_ENABLED=true

```

### \[Option\] Publish the config file

[](#option-publish-the-config-file)

Copy the package config to your local config with the publish command:

```
$ php artisan vendor:publish --tag=blink-logger

```

Configuration
-------------

[](#configuration)

After publishing the config file, you can configure the following options in `config/blink-logger.php`.

### Redaction (`redact`)

[](#redaction-redact)

Sensitive values are masked before they reach the log output. Redaction applies to all loggers (HTTP request/response, HTTP client request/response).

KeyDefaultDescription`redact.placeholder``***`String used to replace redacted values.`redact.headers`See configList of header names (case-insensitive) whose values are replaced by the placeholder. Defaults include `authorization`, `cookie`, `set-cookie`, `x-api-key`, `x-xsrf-token`, `proxy-authorization`, `php-auth-pw`, `x-auth-token`, and `x-access-token`.`redact.body_keys`See configList of request/response body keys (case-insensitive, recursive) whose values are replaced by the placeholder. Defaults include `password`, `token`, `access_token`, `refresh_token`, `secret`, `api_key`, `authorization`, `credit_card`, `card_number`, `cvv`, `client_secret`, `private_key`, and `passphrase`.**URL query string masking**: Parameters in the URL query string (e.g. `?token=secret`) are also masked when their key matches `redact.body_keys`. This applies to both incoming HTTP request URLs and outgoing HTTP client request URLs.

**Non-JSON response bodies**: Body key masking is applied only when the response body is parseable as JSON (Content-Type: `application/json`, `application/ld+json`, `application/*+json`, or `text/json`). Raw string response bodies are logged as-is without key-based masking.

To customize the redact lists, publish the config file and edit `config/blink-logger.php`.

### Query Logger (`query`)

[](#query-logger-query)

KeyDefaultEnv VariableDescription`query.enabled``false``LOG_QUERY_ENABLED`Enable or disable query logging.`query.channel``config('logging.default')`—Log channel to write query logs to.`query.slow_query_time``2000``LOG_SQL_SLOW_QUERY_TIME`Threshold in milliseconds. Queries that exceed this value are logged at `warning` level instead of `debug`.`query.redact_bindings``false``LOG_SQL_REDACT_BINDINGS`When `true`, SQL bindings are **not** interpolated into the query string. The raw parameterized SQL (with `?` placeholders) is logged instead, preventing binding values from appearing in logs. Defaults to `false` to preserve existing behavior.Warning

When `query.enabled` is `true` and `query.redact_bindings` is `false` (the default), SQL binding values — including passwords, tokens, and other sensitive data — are interpolated into the logged SQL string and appear in plain text in your logs. **If you enable query logging in production, set `LOG_SQL_REDACT_BINDINGS=true`** to prevent sensitive binding values from leaking into log output. | `query.listeners` | See config | — | Map of database event classes to listener classes. Covers `QueryExecuted`, `TransactionBeginning`, `TransactionCommitted`, and `TransactionRolledBack`. |

### HTTP Request Logger (`http.request`)

[](#http-request-logger-httprequest)

KeyDefaultEnv VariableDescription`http.request.enabled``false``LOG_HTTP_REQUEST_ENABLED`Enable or disable incoming HTTP request logging.`http.request.channel``config('logging.default')`—Log channel to write HTTP request logs to.`http.request.include_paths``[]`—If non-empty, only requests whose path matches one of these values are logged (supports `*` wildcard patterns via Laravel's `Request::is()`, e.g. `api/*`; exact strings also match). Takes precedence over `exclude_paths`.`http.request.exclude_paths``[]`—When `include_paths` is empty, requests whose path matches any of these values are skipped (supports `*` wildcard patterns via Laravel's `Request::is()`, e.g. `admin/*`; exact strings also match). Has no effect when `include_paths` is non-empty.`http.request.middleware_group_names``['web', 'api']`—Middleware groups the request logger middleware is registered to.### HTTP Response Logger (`http.response`)

[](#http-response-logger-httpresponse)

KeyDefaultEnv VariableDescription`http.response.enabled``false``LOG_HTTP_RESPONSE_ENABLED`Enable or disable incoming HTTP response logging.`http.response.channel``config('logging.default')`—Log channel to write HTTP response logs to.`http.response.include_paths``[]`—If non-empty, only responses whose path matches one of these values are logged (supports `*` wildcard patterns via Laravel's `Request::is()`, e.g. `api/*`; exact strings also match). Takes precedence over `exclude_paths`.`http.response.exclude_paths``[]`—When `include_paths` is empty, responses whose path matches any of these values are skipped (supports `*` wildcard patterns via Laravel's `Request::is()`, e.g. `admin/*`; exact strings also match). Has no effect when `include_paths` is non-empty.`http.response.middleware_group_names``['api']`—Middleware groups the response logger middleware is registered to.### HTTP Client Request Logger (`http_client.request`)

[](#http-client-request-logger-http_clientrequest)

KeyDefaultEnv VariableDescription`http_client.request.enabled``false``LOG_HTTP_CLIENT_REQUEST_ENABLED`Enable or disable outgoing HTTP client request logging.`http_client.request.channel``config('logging.default')`—Log channel to write HTTP client request logs to.### HTTP Client Response Logger (`http_client.response`)

[](#http-client-response-logger-http_clientresponse)

KeyDefaultEnv VariableDescription`http_client.response.enabled``false``LOG_HTTP_CLIENT_RESPONSE_ENABLED`Enable or disable outgoing HTTP client response logging.`http_client.response.channel``config('logging.default')`—Log channel to write HTTP client response logs to.Usage
-----

[](#usage)

Watch the log file.

```
$ tail -f storage/logs/laravel.log

```

Example logs.

```
[2024-04-05 16:38:58] local.DEBUG: GET: http://example-app.test/api/foo/bar?baz=qux {"request":{"baz":"qux"},"headers":{"accept-language":["ja,en-US;q=0.9,en;q=0.8"],"accept-encoding":["gzip, deflate"],"accept":["text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"],"user-agent":["Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36"],"upgrade-insecure-requests":["1"],"cache-control":["max-age=0"],"connection":["keep-alive"],"host":["example-app.test"]}}
[2024-04-05 16:38:58] local.DEBUG: START TRANSACTION
[2024-04-05 16:38:59] local.DEBUG: 4.01 ms, SQL: insert into `users` (`name`, `email`, `email_verified_at`, `password`, `remember_token`, `updated_at`, `created_at`) values ('Concepcion VonRueden Sr.', 'judy30@example.net', '2024-04-05 16:38:58', 'y$L7Lb.DoH7sO5Zb7RrGtSzelx6Y15gBtetVYlI4z4wB5I83oh6To1i', 'ZD34nR26LH', '2024-04-05 16:38:59', '2024-04-05 16:38:59');
[2024-04-05 16:38:59] local.DEBUG: 3.02 ms, SQL: update `users` set `name` = 'change name', `users`.`updated_at` = '2024-04-05 16:38:59' where `id` = 122;
[2024-04-05 16:38:59] local.DEBUG: 1.61 ms, SQL: delete from `users` where `id` = 122;
[2024-04-05 16:38:59] local.DEBUG: 2.28 ms, SQL: insert into `users` (`name`, `email`, `email_verified_at`, `password`, `remember_token`, `updated_at`, `created_at`) values ('Delfina Brakus IV', 'anibal.cummings@example.org', '2024-04-05 16:38:59', 'y$L7Lb.DoH7sO5Zb7RrGtSzelx6Y15gBtetVYlI4z4wB5I83oh6To1i', 'Qvq73GjdiQ', '2024-04-05 16:38:59', '2024-04-05 16:38:59');
[2024-04-05 16:38:59] local.DEBUG: COMMIT
[2024-04-05 16:38:59] local.DEBUG: 2.15 ms, SQL: select * from `users` where `users`.`id` = 123 limit 1;
[2024-04-05 16:38:59] local.DEBUG: 200 OK {"body":"{\"data\":\"ok\"}","headers":{"cache-control":["no-cache, private"],"date":["Fri, 05 Apr 2024 16:38:59 GMT"],"content-type":["application/json"],"x-ratelimit-limit":["60"],"x-ratelimit-remaining":["55"],"access-control-allow-origin":["*"]}}

```

###  Health Score

53

—

FairBetter than 96% of packages

Maintenance90

Actively maintained with recent releases

Popularity32

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity65

Established project with proven stability

 Bus Factor1

Top contributor holds 96.9% 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 ~58 days

Recently: every ~0 days

Total

15

Last Release

6d ago

Major Versions

v0.1.3 → v1.0.02024-04-06

v1.1.0 → v2.0.02024-05-03

v2.0.1 → v3.0.02026-06-27

v3.1.2 → v4.0.02026-06-27

PHP version history (4 changes)v0.1.0PHP ^8.1

v0.1.1PHP ^8.0.2

v3.0.0PHP ^8.2

v4.0.0PHP ^8.3

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/35098175?v=4)[ucan-lab](/maintainers/ucan-lab)[@ucan-lab](https://github.com/ucan-lab)

---

Top Contributors

[![ucan-lab](https://avatars.githubusercontent.com/u/35098175?v=4)](https://github.com/ucan-lab "ucan-lab (63 commits)")[![renovate[bot]](https://avatars.githubusercontent.com/in/2740?v=4)](https://github.com/renovate[bot] "renovate[bot] (1 commits)")[![siketyan](https://avatars.githubusercontent.com/u/12772118?v=4)](https://github.com/siketyan "siketyan (1 commits)")

---

Tags

laravelloggingphpphplaravellogger

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/ucan-lab-laravel-blink-logger/health.svg)

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

###  Alternatives

[leventcz/laravel-top

Real-time monitoring straight from the command line for Laravel applications.

582116.1k1](/packages/leventcz-laravel-top)[guanguans/laravel-exception-notify

Monitor exception and report to the notification channels(Log、Mail、AnPush、Bark、Chanify、DingTalk、Discord、Gitter、GoogleChat、IGot、Lark、Mattermost、MicrosoftTeams、NowPush、Ntfy、Push、Pushback、PushBullet、PushDeer、PushMe、Pushover、PushPlus、QQ、RocketChat、ServerChan、ShowdocPush、SimplePush、Slack、Telegram、WeWork、WPush、XiZhi、YiFengChuanHua、ZohoCliq、ZohoCliqWebHook、Zulip).

14845.8k1](/packages/guanguans-laravel-exception-notify)[nightowl/agent

NightOwl monitoring agent — collects telemetry from laravel/nightwatch and writes to PostgreSQL

771.7k](/packages/nightowl-agent)[tomatophp/filament-logger

Log all user activity to file or log driver and preview it on your FilamentPHP panel

162.3k](/packages/tomatophp-filament-logger)

PHPackages © 2026

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