PHPackages                             schuhwerk/php-error-log-viewer - 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. schuhwerk/php-error-log-viewer

ActiveDevelopment-tool[Logging &amp; Monitoring](/categories/logging)

schuhwerk/php-error-log-viewer
==============================

A single-file GUI for your php log files which groups similar errors. Written in PHP and Vue.js.

v0.11.0(1y ago)457.9k11[3 issues](https://github.com/schuhwerk/php-error-log-viewer/issues)MITPHPPHP ^7 || ^8CI failing

Since Apr 24Pushed 1y ago2 watchersCompare

[ Source](https://github.com/schuhwerk/php-error-log-viewer)[ Packagist](https://packagist.org/packages/schuhwerk/php-error-log-viewer)[ Docs](https://github.com/schuhwerk/php-error-log-viewer)[ RSS](/packages/schuhwerk-php-error-log-viewer/feed)WikiDiscussions master Synced 1w ago

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

PHP Error Log Viewer
====================

[](#php-error-log-viewer)

[![PHP Tests](https://github.com/schuhwerk/php-error-log-viewer/actions/workflows/php.yml/badge.svg)](https://github.com/schuhwerk/php-error-log-viewer/actions/workflows/php.yml/badge.svg)

A GUI for your php log files which groups similar errors. Written in PHP and Vue.js.

- Reads the specified log file and automatically shows you new errors when they appear.
- Groups errors with similar text. This is far from perfect and just works with the (default) log-format like:
    `[12-Jun-2030 12:58:55] PHP Notice: ...`
- Can be configured so clicking on an error will directly bring you to the mentioned file and line in vscode ([more below](#linking)).
- Requires PHP &gt; 7.4

Disclaimer
----------

[](#disclaimer)

- This contains code for deleting your log-file.
- Might be heavy for you server for large log files (regexp-parsing).
- It is meant for development-environments.
- Created for log-files in the format `[31-Mar-2021 14:25:56 UTC] PHP Notice: ...` (nginx logs are currently not supported).
- There is still room for improvement (especially where the log-file is parsed).
- It does not work offline, as we rely on [cdns](https://en.wikipedia.org/wiki/Content_delivery_network) to load dependencies like vue.

Getting Started
---------------

[](#getting-started)

Just copy the folder next to your debug.log.

or

```
composer require-dev schuhwerk/php-error-log-viewer
```

Usage
-----

[](#usage)

Open the folder in your browser (like ) [![Screenshot of the viewer interface](php-error-log-screenshot.png)](php-error-log-screenshot.png)

Settings
--------

[](#settings)

You can specify settings in a file named 'php-error-log-viewer.ini' in the same folder (or for composer in the grandparent folder).

```
;path the the log file. relative to the viewer file.
file_path='../../app/debug.log'
;toggle the linking feature
vscode_links=true
;when you run a virtual machine for development your server path might diverge from your loacal path. this is server.
vscode_path_search='/srv/www/current/'
;
vscode_path_replace='C:/my-repository/'
```

Linking
-------

[](#linking)

The log viewer extracts paths and line numbers from your log file (transforms them) and creates [vscode links](https://code.visualstudio.com/docs/editor/command-line#_opening-vs-code-with-urls). This works for the following samples:

- /srv/www/web/app/themes/defaultspace/functions.php(605): get\_post\_card(Object(WP\_Post), Array)
- PHP Fatal error: Uncaught TypeError: ..., called in C:\\foo\\bar/themes/defaultspace/functions.php on line 605
- ... and defined in C:\\foo\\bar/themes/defaultspace/functions.php:63
- ✨Tip: Use this (php) [snippet in vscode](https://code.visualstudio.com/docs/editor/userdefinedsnippets) (and enjoy the links): ```
    "Log to error log": {
      	"prefix": "error_log",
      	"body": [
      		"error_log( \"$1\" . __FILE__ . ' on line ' . __LINE__ . \"\\n\" . print_r( $2, true ) );",
      		"$4"
      	],
      	"description": "Log array/object to error log."
      }
    ```

Ideas
-----

[](#ideas)

- This was a single-file gui. As it went bigger we separated files (to improve readability). There could be a build-step which brings things back to a single file (like [adminer](https://github.com/vrana/adminer) uses).
- Update to vue3
- Use vuetify instead vue-material.
- Make offline useable.
- Find a way to keep stack-traces together (while sorting)

###  Health Score

36

—

LowBetter than 82% of packages

Maintenance31

Infrequent updates — may be unmaintained

Popularity33

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 90.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 ~188 days

Recently: every ~270 days

Total

9

Last Release

712d ago

PHP version history (3 changes)v0.8PHP ^7.2

v0.9PHP ^7.1

0.9.5PHP ^7 || ^8

### Community

Maintainers

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

---

Top Contributors

[![schuhwerk](https://avatars.githubusercontent.com/u/865652?v=4)](https://github.com/schuhwerk "schuhwerk (30 commits)")[![fglueck](https://avatars.githubusercontent.com/u/3225774?v=4)](https://github.com/fglueck "fglueck (1 commits)")[![fh32000](https://avatars.githubusercontent.com/u/36423762?v=4)](https://github.com/fh32000 "fh32000 (1 commits)")[![wukis](https://avatars.githubusercontent.com/u/5694585?v=4)](https://github.com/wukis "wukis (1 commits)")

---

Tags

loghelperdeverrorguierrorslogsvuesingle-file

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/schuhwerk-php-error-log-viewer/health.svg)

```
[![Health](https://phpackages.com/badges/schuhwerk-php-error-log-viewer/health.svg)](https://phpackages.com/packages/schuhwerk-php-error-log-viewer)
```

###  Alternatives

[analog/analog

Fast, flexible, easy PSR-3-compatible PHP logging package with dozens of handlers.

3451.5M24](/packages/analog-analog)[facile-it/sentry-module

This module allows integration of Sentry Client into laminas and mezzio

19372.5k](/packages/facile-it-sentry-module)[larabug/larabug

Laravel 6.x/7.x/8.x/9.x/10.x/11.x/12.x/13.x bug notifier

299549.3k1](/packages/larabug-larabug)[amnuts/phperror-gui

A clean and effective single-file GUI for viewing entries in the PHP error log, allowing for filtering by path and by type.

521.8k1](/packages/amnuts-phperror-gui)[jackiedo/log-reader

An easy log reader and management tool for Laravel

151376.5k4](/packages/jackiedo-log-reader)[phptek/sentry

Sentry.io integration for SilverStripe. Binds Sentry.io to SilverStripe's error &amp; exception handling subsystem.

15203.5k3](/packages/phptek-sentry)

PHPackages © 2026

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