PHPackages                             noerdisch/elasticlog - 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. noerdisch/elasticlog

AbandonedNeos-package[Logging &amp; Monitoring](/categories/logging)

noerdisch/elasticlog
====================

Logger Backend that uses elasticsearch for Neos Flow

v0.3.0(8y ago)36431MITPHP

Since Feb 13Pushed 8y ago7 watchersCompare

[ Source](https://github.com/noerdisch/Noerdisch.ElasticLog)[ Packagist](https://packagist.org/packages/noerdisch/elasticlog)[ Docs](https://www.noerdisch.com)[ RSS](/packages/noerdisch-elasticlog/feed)WikiDiscussions master Synced yesterday

READMEChangelog (7)Dependencies (2)Versions (8)Used By (0)

 [ ![](https://camo.githubusercontent.com/cf66a178f9eb8c4fcddbbfd6d53daaaf3eb8db1d4fad052f603434aa1ba0f4b6/68747470733a2f2f63646e2e7261776769742e636f6d2f6d61726b75736775656e746865722f61626537306433346634613436323161656430656635303463356430313932622f7261772f356266306633646633323865353862613761616430363761353663626431633135656636393439312f6c6f676f5f66756c6c2e737667) ](https://www.noerdisch.de)

[![Packagist](https://camo.githubusercontent.com/b4b0f3f3e0d066aec626f81796bffeb766662dd6a0eac62c35579608837f060f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6e6f657264697363682f656c61737469636c6f672e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/noerdisch/elasticlog)[![Packagist](https://camo.githubusercontent.com/4b6fb7c7c846e3780f6e1910c6337c485ac71b30766e6fe00ab2c1d0685be322/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6e6f657264697363682f656c61737469636c6f672e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/noerdisch/elasticlog)[![Maintainability](https://camo.githubusercontent.com/db3670a7e3f5b0c80a21e2d7478100e8cf67f6ab0c0e47fde36897dda6242889/68747470733a2f2f6170692e636f6465636c696d6174652e636f6d2f76312f6261646765732f62633961346665346235633135643130336538392f6d61696e7461696e6162696c697479)](https://codeclimate.com/github/noerdisch/Noerdisch.ElasticLog/maintainability)[![Twitter Follow](https://camo.githubusercontent.com/33d3414c2d495d5990b9bb8fe903a15f093eaa4a7ca65883201b29a1c047c943/68747470733a2f2f696d672e736869656c64732e696f2f747769747465722f666f6c6c6f772f6e6f657264697363682e7376673f7374796c653d736f6369616c266c6162656c3d466f6c6c6f77267374796c653d666c61742d737175617265)](https://twitter.com/noerdisch)

Nœrdisch ElasticLog
===================

[](#nœrdisch-elasticlog)

The Noerdisch.ElasticLog Flow package logs exceptions and single messages to a configured elastic search server. This package also provides a backend to log message of Flows Logger classes to a elastic search server.

Installation &amp; configuration
--------------------------------

[](#installation--configuration)

Just add "noerdisch/elasticlog" as dependency to your composer.json and run a "composer update" in your project's root folder or simply execute:

```
composer require noerdisch/elasticlog

```

from your project's root.

Configure your Elastic Server:

```
Noerdisch:
  ElasticLog:
    Connection:
        host: '127.0.0.1'
        port: 9200
        index: 'myIndex42'
```

We provide a command controller to setup you elastic search index. You can use it to create the index or to reset the logger.

```
./flow elasticindex:setup
```

### Manual logging

[](#manual-logging)

If you wish to log normal log messages to your elastic server just use the provided `ElasticLoggerInterface`:

```
use Neos\Flow\Annotations as Flow;
use Noerdisch\ElasticLog\Log\ImportLoggerInterface;

class SomeClass
{
    /**
     * @Flow\Inject
     * @var ImportLoggerInterface
     */
    protected $logger;

    public function yourMethod()
    {
        try {
            $this->callSomeMethod();
        } catch (Exception $exception) {
            $this->logger->logThrowable($exception, ['identifier' => 'foo']);
        }
    }
}
```

By default messages will also be logged to the `SystemLoggerInterface` when Flow runs in `Development` context. You can enable or disable this function with a setting:

```
Noerdisch:
  ElasticLog:
    Logger:
      backendOptions:
        alsoLogWithSystemLogger: true
```

### Logging backend

[](#logging-backend)

To configure ElasticBackend as the default logging backend, put this in your Settings.yaml:

```
Neos:
  Flow:
    log:
      systemLogger:
        backend: Noerdisch\ElasticLog\Log\Backend\ElasticBackend
      securityLogger:
        backend: Noerdisch\ElasticLog\Log\Backend\ElasticBackend
      sqlLogger:
        backend: Noerdisch\ElasticLog\Log\Backend\ElasticBackend
      i18nLogger:
        backend: Noerdisch\ElasticLog\Log\Backend\ElasticBackend

```

### Log exceptions

[](#log-exceptions)

Activate the exception handler and configure the connection to your elastic search server in your Settings.yaml:

```
Neos:
  Flow:
    error:
      exceptionHandler:
        className: 'Noerdisch\ElasticLog\Error\ElasticLogExceptionHandler'
```

Now all Exceptions that are shown to the Web or CLI are logged to elastic.

*Note:* For `Development` context, the `Neos.Flow` package overrides this setting. Make sure to add this configuration in the right context Settings.yaml.

If you want to log additionally *all* Exceptions to elastic search you should replace the systemLogger as well. This will log all errors that are logged with the SystemLogger to ElasticLog as well to the disk. By default Flow will only log a single line to the system log aka "See also ... .txt". The ElasticLogger will also log the full Exception.

```
Neos:
  Flow:
    log:
      systemLogger:
        logger: Noerdisch\ElasticLog\Log\ElasticLogger
```

#### Filter exceptions

[](#filter-exceptions)

To skip certain exceptions from being logged you can either use the `skipStatusCodes` setting:

```
Noerdisch:
  ElasticLog:
     # don't log any exceptions that would result in a HTTP status 403 (access denied) / 404 (not found)
    skipStatusCodes: [403, 404]
```

### Thanks

[](#thanks)

The package was build on the Graylog package from [Yeebase](https://github.com/yeebase/Yeebase.Graylog). Thanks to the nice people from Yeebase for sharing it. Checkout their repositories on github. They also ❤️ Neos and the Neos flow framework.

We are not using Graylog since we wanted to make use of the whole ELK stack elastic is offering

###  Health Score

29

—

LowBetter than 60% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity17

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

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

Recently: every ~20 days

Total

7

Last Release

2931d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/19538775?v=4)[nœrdisch GmbH](/maintainers/noerdisch)[@noerdisch](https://github.com/noerdisch)

---

Top Contributors

[![markusguenther](https://avatars.githubusercontent.com/u/1014126?v=4)](https://github.com/markusguenther "markusguenther (3 commits)")

---

Tags

elastic-serverelasticsearchflowframeworkloggingneoscms

### Embed Badge

![Health badge](/badges/noerdisch-elasticlog/health.svg)

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

###  Alternatives

[psr/log

Common interface for logging libraries

10.4k1.2B9.2k](/packages/psr-log)[itsgoingd/clockwork

php dev tools in your browser

5.9k27.6M94](/packages/itsgoingd-clockwork)[graylog2/gelf-php

A php implementation to send log-messages to a GELF compatible backend like Graylog2.

41838.2M138](/packages/graylog2-gelf-php)[bugsnag/bugsnag-psr-logger

Official Bugsnag PHP PSR Logger.

32132.5M2](/packages/bugsnag-bugsnag-psr-logger)[consolidation/log

Improved Psr-3 / Psr\\Log logger based on Symfony Console components.

15462.2M7](/packages/consolidation-log)[datadog/php-datadogstatsd

An extremely simple PHP datadogstatsd client

19124.6M15](/packages/datadog-php-datadogstatsd)

PHPackages © 2026

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