2017 © Pedro Peláez
 

library expressive-logger

Monolog Zend Expressive integration

image

davidburger/expressive-logger

Monolog Zend Expressive integration

  • Thursday, May 4, 2017
  • by davidburger
  • Repository
  • 2 Watchers
  • 4 Stars
  • 5,299 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 3 Forks
  • 0 Open issues
  • 14 Versions
  • 30 % Grown

The README.md

Zend Expressive Monolog integration


Zend Expressive implementation of Monolog (https://github.com/Seldaek/monolog/), (*1)

Installation

composer require davidburger/expressive-logger

Setup

cd <project_root>
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

registerErrorHandler (default value: false) - if enabled, the \Monolog\ErrorHandler::register() method is called after logger initialization to set php error handlers, @see http://php.net/manual/en/ref.errorfunc.php for more details, (*2)

ignoredExceptionClasses (default value: []) - Exception class names that will not be logged by defined error handlers, (*3)

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, (*4)

useFacade (default value: true) - logger will be registered for static calls - see below., (*5)

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:, (*6)

'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:, (*7)

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

Usage

Boostrap initialization

<?php

require __DIR__ . '/vendor/autoload.php';

/** @var \Interop\Container\ContainerInterface $container */
$container = require __DIR__ . '/config/container.php';

$factory = new \ExpressiveLogger\LoggerFactory();
$logger = $factory($container);

Static calls

use ExpressiveLogger\LoggerFacade;
//..

try {

} catch(RuntimeException $e) {
   LoggerFacade::error($e);
}

Monolog handlers configuration

RedisHandler

'dependencies' => [
    'factories' => [
        \Monolog\Handler\RedisHandler::class => \ExpressiveLogger\Factory\RedisHandlerFactory::class,
    ],
],
'expressiveLogger' => [
    'handlers' => [
        'redis' => [
            'client' => 'redisClient',  //name of redis instance available via container
            'key' => 'logstash',
            'level' => Logger::DEBUG,
        ],
    ]
]

The Versions

04/05 2017

dev-master

9999999-dev https://github.com/davidburger/expressive-logger

Monolog Zend Expressive integration

  Sources   Download

Apache-2.0

The Requires

 

by David Burger

monolog zend expressive errorlog

04/05 2017

v1.9.4

1.9.4.0 https://github.com/davidburger/expressive-logger

Monolog Zend Expressive integration

  Sources   Download

Apache-2.0

The Requires

 

by David Burger

monolog zend expressive errorlog

27/03 2017

v1.9.3

1.9.3.0 https://github.com/davidburger/expressive-logger

Monolog Zend Expressive integration

  Sources   Download

Apache-2.0

The Requires

 

by David Burger

monolog zend expressive errorlog

05/12 2016

v1.9.2

1.9.2.0 https://github.com/davidburger/expressive-logger

Monolog Zend Expressive integration

  Sources   Download

Apache-2.0

The Requires

 

by David Burger

monolog zend expressive errorlog

10/11 2016

v1.9

1.9.0.0 https://github.com/davidburger/expressive-logger

Monolog Zend Expressive integration

  Sources   Download

Apache-2.0

The Requires

 

by David Burger

monolog zend expressive errorlog

02/08 2016

v1.8

1.8.0.0 https://github.com/davidburger/expressive-logger

Monolog Zend Expressive integration

  Sources   Download

Apache-2.0

The Requires

 

by David Burger

monolog zend expressive errorlog

01/08 2016

v1.7

1.7.0.0 https://github.com/davidburger/expressive-logger

Monolog Zend Expressive integration

  Sources   Download

Apache-2.0

The Requires

 

by David Burger

monolog zend expressive errorlog

25/07 2016

v1.6

1.6.0.0 https://github.com/davidburger/expressive-logger

Monolog Zend Expressive integration

  Sources   Download

Apache-2.0

The Requires

 

by David Burger

monolog zend expressive errorlog

25/07 2016

v1.5

1.5.0.0 https://github.com/davidburger/expressive-logger

Monolog Zend Expressive integration

  Sources   Download

Apache-2.0

The Requires

 

by David Burger

monolog zend expressive errorlog

12/07 2016

v1.4

1.4.0.0 https://github.com/davidburger/expressive-logger

Monolog Zend Expressive integration

  Sources   Download

Apache-2.0

The Requires

 

by David Burger

monolog zend expressive errorlog

01/06 2016

v1.3

1.3.0.0 https://github.com/davidburger/expressive-logger

Monolog Zend Expressive integration

  Sources   Download

Apache-2.0

The Requires

 

by David Burger

monolog zend expressive errorlog

01/06 2016

v1.2.1

1.2.1.0 https://github.com/davidburger/expressive-logger

Monolog Zend Expressive integration

  Sources   Download

Apache-2.0

The Requires

 

by David Burger

monolog zend expressive errorlog

01/06 2016

v1.2

1.2.0.0 https://github.com/davidburger/expressive-logger

Monolog Zend Expressive integration

  Sources   Download

Apache-2.0

The Requires

 

by David Burger

monolog zend expressive errorlog

27/05 2016

v1.1

1.1.0.0 https://github.com/davidburger/expressive-logger

Monolog Zend Expressive integration

  Sources   Download

Apache-2.0

The Requires

 

by David Burger

monolog zend expressive errorlog