PHPackages                             evotodi/log-viewer-bundle - 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. evotodi/log-viewer-bundle

ActiveSymfony-bundle

evotodi/log-viewer-bundle
=========================

Simple log viewer bundle for symfony 5/6

6.2.0(3y ago)1928.6k↓29.7%4[2 issues](https://github.com/evotodi/log-viewer-bundle/issues)MITPHPPHP ^8

Since Mar 4Pushed 3y ago1 watchersCompare

[ Source](https://github.com/evotodi/log-viewer-bundle)[ Packagist](https://packagist.org/packages/evotodi/log-viewer-bundle)[ RSS](/packages/evotodi-log-viewer-bundle/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (9)Versions (15)Used By (0)

Simple log Viewer Symfony Bundle
================================

[](#simple-log-viewer-symfony-bundle)

LogViewerBundle is a basic log viewer for symfony. It allows you to list and view all of the symfony logs or external logs in one easy place with level highlighting and level filtering.

\###Caution:Upgrading from a version older than 1.4 will break your log patterns. See [breaking changes](#breaking-changes) below.

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

[](#installation)

Install the package with:

```
composer require evotodi/log-viewer-bundle
```

Suggested Packages
------------------

[](#suggested-packages)

Install nesbot/carbon for datetime parsing and enable in config

```
composer require nesbot/carbon
```

```
evo_log_viewer:
    log_files:
        use_carbon: true
```

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

[](#configuration)

Create the routes yaml file `config/routes/evo_log_viewer_routes.yaml`

```
evo_log_viewer:
  resource: '@EvotodiLogViewerBundle/Resources/config/routes.xml'
  prefix: '/logs'
```

Create the config yaml file `config/packages/evo_log_viewer.yaml`

```
# List of log files to show
evo_log_viewer:
    log_files:
        # Unique identifier for the logfile
        somelog1:
            # Use full path
            path: 'Some/Full/Path/to/Log/File.Ext'

            # Pretty name to display else file name
            name: My Log Files Pretty Name

            # (Optional) Number of days to pull from log. See ddtraceweb/monolog-parser.
            days: 0

            # (Optional) See ddtraceweb/monolog-parser for patterns.
            pattern: null

            # (Optional) PHP style date format of log file
            date_format: 'Y-m-d H:i:s'

            # (Optional) Use P in the pattern
            use_channel: true

          # (Optional) Use P in the pattern
            use_level: true

            # (Optional) Log level spelling. Case sensitive
            levels:
                debug: DEBUG
                info: INFO
                notice: NOTICE
                warning: WARNING
                error: ERROR
                alert: ALERT
                critical: CRITICAL
                emergency: EMERGENCY

        somelog2:
            path: '/path/to/logfile.log'
            name: Pretty Logfile Name

    # Show App logs in var/log
    show_app_logs: true

    # (Optional) Change the default parser pattern
    app_pattern: '/\[(?P.*)\] (?P\w+).(?P\w+): (?P[^\[\{].*[\]\}])/'

    # (Optional) Change the default date format
    app_date_format: 'Y-m-d H:i:s'

    # (Optional) Use nesbot/Carbon for datetime parsing
    # Execute 'composer require nesbot/carbon' before setting to true
    use_carbon: false
```

Advanced Configuration
----------------------

[](#advanced-configuration)

#### pattern

[](#pattern)

The default pattern is `'/\[(?P.*)\] (?P\w+).(?P\w+): (?P[^\[\{].*[\]\}])/'`
You can change the regex pattern to match your log file but the pattern must include `P`, `P`, `P`, and `P` as regex groups. You can omit the `P` and `P` by setting use\_channel: false and use\_level: false respectively.
Example `'/\[(?P.+)\] (?P\w+).(?P\w+): (?P.*)/'`
See ddtraceweb/monolog-parser for other examples but ommit `P` and `P`

#### days

[](#days)

Setting days in the config to 0 will parse to whole log which is the default. Days set to 5 for example will parse the log until the date portion of the pattern if greater than DateTime('now') minus 5 days.

#### date\_format (optional)

[](#date_format-optional)

This should be the php date format of the date portion of the pattern. Default is Y-m-d H:i:s / [PHP DateFormat](https://www.php.net/manual/en/function.date.php)

#### levels

[](#levels)

Override the default spelling for each level. e.g. WARNING -&gt; WARN

#### Breaking Changes

[](#breaking-changes)

Updating from an older version to version &gt;=1.4 will break your log patterns. This is easy to fix, just change `P` to `P`.

Thanks
------

[](#thanks)

Thanks to ddtraceweb/monolog-parser and greenskies/web-log-viewer-bundle.

Contributions
-------------

[](#contributions)

Contributions are very welcome!

Please create detailed issues and PRs.

License
-------

[](#license)

This package is free software distributed under the terms of the [MIT license](LICENSE).

###  Health Score

36

—

LowBetter than 82% of packages

Maintenance18

Infrequent updates — may be unmaintained

Popularity37

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity64

Established project with proven stability

 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 ~85 days

Recently: every ~66 days

Total

13

Last Release

1246d ago

Major Versions

1.4.1 → 5.42022-03-31

5.4.2 → 6.0.02022-04-14

PHP version history (5 changes)1.0PHP ^7.1.3

1.1PHP ^7.2

1.3.1PHP ^7.4

5.4PHP ^7.4|^8

5.4.2PHP ^8

### Community

Maintainers

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

---

Top Contributors

[![evotodi](https://avatars.githubusercontent.com/u/1625853?v=4)](https://github.com/evotodi "evotodi (25 commits)")

### Embed Badge

![Health badge](/badges/evotodi-log-viewer-bundle/health.svg)

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

###  Alternatives

[glhd/conveyor-belt

14797.0k](/packages/glhd-conveyor-belt)[wouterj/eloquent-bundle

Implementing the Eloquent ORM into Symfony

166163.3k2](/packages/wouterj-eloquent-bundle)[pomm-project/pomm-bundle

The Symfony2 bundle for Pomm2

81198.7k4](/packages/pomm-project-pomm-bundle)[clawrock/magento2-debug

Magento 2 debug module based on Magento 1 Profiler with some extra features.

8419.3k1](/packages/clawrock-magento2-debug)[bdk/debug

Browser/javascript like console class for PHP

819.0k1](/packages/bdk-debug)[fleetbase/core-api

Core Framework and Resources for Fleetbase API

1225.0k10](/packages/fleetbase-core-api)

PHPackages © 2026

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