Generates reports based on the logs from scheb/tombstone

0.7.0 2019-05-07 21:36 UTC

This package is auto-updated.

Last update: 2020-06-23 09:53:46 UTC


Please note, that tombstone-analyzer is currently being reworked and versions >= 0.4.0 are very unstable. If you want to use it, use 0.3.0 or wait until there's a 1.0.0

Build Status Scrutinizer Code Quality Code Coverage Latest Stable Version Total Downloads License

Report generation for the tombstones created with the scheb/tombstone library.

Dashboard view Code view


Install via composer

$ composer require scheb/tombstone-analyzer

Composer automatically creates an executable binary vendor/bin/tombstone-analyzer.


Provide a YAML config file to the tombstone-analyzer. Providing the config file is optional, by default it looks for a file named tombstone.yml in the current working directory.

$ tombstone-analyzer -c tombstone.yml


Relative paths in the configuration file are resolved relative to the config file's location.

The tool uses symfony/finder to scan the source directory, so have a look at its documentation to understand filter options.

Minimum configuration:

        - src
    directory: logs

rootDir: root

All configuration options:

    # Required, Where your source files are located (see finder's "in" option)
        - src

    # Exclude patterns relative to the ones defined in "directories" (see finder's "exclude" option)
        - tests

    # Name pattern to be included (see finder's "name" option)
        - "*.php"

    # Name pattern to be excluded (see finder's "notName" option)
        - "*.js"

# The root directory is used to make paths from the scanned sources relative. This is important, if you made
# the paths in your logs relative to a root directory.
rootDir: root

# One of the logs providers must be set, either "directory" or "custom"

    # Use the log file provider. This is where log files from AnalyzerLogHandler are located.
    directory: logs

    # Use your own log provider. You have to configure the file and class name.
    # Has to implement Scheb\Tombstone\Analyzer\Log\LogReaderInterface
        file: "srLogReaderInterfaceder.php"
        class: 'Scheb\Tombstone\Analyzer\TestApplication\Tombstone\LogProvider'

# Report generation options
    php: report/tombstone-report.php  # Generate a PHP report dump here
    html: report   # Generate a HTML report here
    console: true  # Display report on the console (default: false)


You're welcome to contribute to this library by creating a pull requests or feature request in the issues section. For pull requests, please follow these guidelines:

  • Symfony code style (use php_cs.xml to configure the code style in your IDE)
  • PHP7.1 type hints for everything (including: return types, void, nullable types)
  • declare(strict_types=1) must be used
  • Please add/update test cases
  • Test methods should be named [method]_[scenario]_[expected result]

To run the test suite install the dependencies with composer install and then execute bin/phpunit.


The library is heavly inspired by's implementation of the tombstone concept.

Thanks to Sebastian Bergmann for letting me re-use parts of his code and the template files.


This library is available under the MIT license.