PHPackages                             pandora-una/expressive-logger - 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. pandora-una/expressive-logger

ActiveLibrary[Logging &amp; Monitoring](/categories/logging)

pandora-una/expressive-logger
=============================

Monolog Zend Expressive integration

2.2.2(2y ago)07.0k↓100%Apache-2.0PHPPHP &gt;=7.0.0

Since May 27Pushed 2y agoCompare

[ Source](https://github.com/Pandora-una/expressive-logger)[ Packagist](https://packagist.org/packages/pandora-una/expressive-logger)[ Docs](https://github.com/davidburger/expressive-logger)[ RSS](/packages/pandora-una-expressive-logger/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (6)Dependencies (3)Versions (23)Used By (0)

Zend Expressive Monolog integration
===================================

[](#zend-expressive-monolog-integration)

---

Zend Expressive implementation of Monolog ()

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

[](#installation)

```
composer require davidburger/expressive-logger
```

Setup
-----

[](#setup)

```
cd
cp vendor/davidburger/expressive-logger/config/errorlog.global.php.dist config/autoload/errorlog.global.php
```

- edit config/autoload/errorlog.global.php file and set what you need

### Configuration directives

[](#configuration-directives)

**registerErrorHandler** (default value: false)

- if enabled, the \\Monolog\\ErrorHandler::register() method is called after logger initialization to set php error handlers, @see  for more details

**ignoredExceptionClasses** (default value: \[\])

- Exception class names that will not be logged by defined error handlers

**useIgnoreLogic** (default value: false)

- false = all errors will be logged
- true = classes defined in ignoredExceptionClasses array and instances of ExpressiveLogger\\Exception\\NotLoggableInterface will be ignored by logger

**useFacade** (default value: true)

- logger will be registered for static calls - see below.

**exceptionFormatterCallback** (default value: null)

- callback for formatting exception message and determining context before Monolog\\Logger::error($message, $context) is called
- higher priority than `messageFormatter` if both are defined
- config example:

```
'exceptionFormatterCallback' => function($exception, &$context) {

    if (true === empty($context)) {
        $context = ['exception' => $exception];
    }

    return sprintf('Exception %s: "%s" at %s line %s',
        get_class($exception),
        $exception->getMessage(),
        $exception->getFile(),
        $exception->getLine()
    );
},
```

**messageFormatter** (default value: null)

- class used for formatting error messages before Monolog\\Logger::error($message) is called (very usefull for exceptions)
- lower priority than `exceptionFormatterCallback` if both are defined
- it is possible to write and use custom formatter implementing `\ExpressiveLogger\MessageFormatter\MessageFormatterInterface`
- config example:

```
'messageFormatter' => \ExpressiveLogger\MessageFormatter\DefaultFormatter::class
```

Usage
-----

[](#usage)

### Boostrap initialization

[](#boostrap-initialization)

```
