PHPackages                             bkwld/reporter - 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. bkwld/reporter

ActiveLibrary

bkwld/reporter
==============

Generate styled logs of Laravel 4 requests that include application timing, memory usage, input data, and sql queries

3.1.0(9y ago)3020.5k1[1 issues](https://github.com/BKWLD/reporter/issues)MITPHPPHP &gt;=5.3.0

Since Jul 15Pushed 9y ago3 watchersCompare

[ Source](https://github.com/BKWLD/reporter)[ Packagist](https://packagist.org/packages/bkwld/reporter)[ RSS](/packages/bkwld-reporter/feed)WikiDiscussions master Synced 2mo ago

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

Reporter
========

[](#reporter)

Reporter is a package for Laravel 5 (versions 3.x) and Laravel 4 (versions 2.x) that brings back functionality found in the profiler of Laravel 3. Instead of displaying output in the browser, it writes to the disk in a log file that you can watch in realtime with `tail -f` or an app like Mac's Console. This adds some advantages over a browser based profiler:

- You can inspect AJAX requests
- POST variables are logged
- The output rendering isn't affected by your application's CSS or JS
- You can inspect apps that are in a production environment

The output looks like:

```
---------------------------------------------------------------------
1/28/16 1:21:09 AM

REQUEST:   /admin/articles/19/edit?search=example
TIME:      111.46ms
TIMERS:
  example: 2.36ms
MEMORY:    14 MB (PEAK: 14 MB)
INPUT:
  search: example
SQL:       5 queries
  (0.46 ms) select * from `admins` where `admins`.`id` = '1' limit 1
  (0.30 ms) select * from `articles` where `articles`.`id` = '19' limit 1
  (0.44 ms) select * from `images` where `images`.`imageable_id` in ('19') and
            `images`.`imageable_type` = 'App\Article'
  (0.49 ms) select * from `articles` where `articles`.`id` = '19' limit 1
  (0.43 ms) select * from `images` where `images`.`imageable_id` in ('19') and
           `images`.`imageable_type` = 'App\Article'

INFO:      Hey, make sure to wear pants

```

Or, if you have style turned on:

[![image](https://camo.githubusercontent.com/d44781805bb3cba6c47a686765ae9d2052a4b6561d8e1c4fa35aa0a5177227fa/687474703a2f2f796f2e626b776c642e636f6d2f326231373362327a304d31662f496d616765253230323031362d30312d32372532306174253230352e32322e3034253230504d2e706e67)](https://camo.githubusercontent.com/d44781805bb3cba6c47a686765ae9d2052a4b6561d8e1c4fa35aa0a5177227fa/687474703a2f2f796f2e626b776c642e636f6d2f326231373362327a304d31662f496d616765253230323031362d30312d32372532306174253230352e32322e3034253230504d2e706e67)

Reporter also adds the ability to time blocks of code (as displayed in the examples "TIMERS" line).

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

[](#installation)

1. Add Reporter to composer.json: `"bkwld/reporter": "~3.0",` and do a composer install.
2. Add `'Bkwld\Reporter\ServiceProvider',` to your app/config/app.php's providers array.
3. If you plan to use timers, add `'Timer' => 'Bkwld\Reporter\Facades\Timer',` to the app/config/app.php's aliases array.

### Config

[](#config)

- `enable` - If false, Reporter will do nothing. By default, this is set to false for the "production" enviornment **IF** you publish the package's config file to your app/config directory.
- `style` - Add color and style codes for output in a Terminal.
- `error_log` - If true, also write logs to the PHP `error_log()`
- `levels` - An array of log levels that should be shown
- `ignore` - A regex string. If the request path matches, no log will be written.

Usage
-----

[](#usage)

### Logging

[](#logging)

Reporter writes it's log to app/storage/logs/reporter.log. I'd recommend running `tail -f storage/logs/reporter.log` from your project directory to follow it.

### Timer

[](#timer)

Laravel 3 had a way to time events with it's profiler. Reporter re-introduces this.

```
Timer::start('example');
// Some code that you are benchmarking
Timer::stop('example');

```

Start() and stop() take a string as their argument that is used to match up the start and stop calls. It is also displayed as the key for the timer in the log. The above example would add lines like this to the log:

```
TIMERS:
  example: 20.02ms

```

###  Health Score

36

—

LowBetter than 82% of packages

Maintenance19

Infrequent updates — may be unmaintained

Popularity30

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity67

Established project with proven stability

 Bus Factor1

Top contributor holds 91.4% 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 ~71 days

Recently: every ~107 days

Total

20

Last Release

3327d ago

Major Versions

2.5.0 → 3.0.02016-02-02

### Community

Maintainers

![](https://www.gravatar.com/avatar/a685b646b3d7ed7362faa8166c565d9c35c5f7989ce4e49d9819ec6e5d6495e1?d=identicon)[weotch](/maintainers/weotch)

---

Top Contributors

[![weotch](https://avatars.githubusercontent.com/u/77567?v=4)](https://github.com/weotch "weotch (74 commits)")[![mattaebersold](https://avatars.githubusercontent.com/u/435606?v=4)](https://github.com/mattaebersold "mattaebersold (5 commits)")[![fitztrev](https://avatars.githubusercontent.com/u/271432?v=4)](https://github.com/fitztrev "fitztrev (2 commits)")

### Embed Badge

![Health badge](/badges/bkwld-reporter/health.svg)

```
[![Health](https://phpackages.com/badges/bkwld-reporter/health.svg)](https://phpackages.com/packages/bkwld-reporter)
```

###  Alternatives

[fumeapp/modeltyper

Generate TypeScript interfaces from Laravel Models

196277.9k](/packages/fumeapp-modeltyper)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)

PHPackages © 2026

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