Skip to content

MilesChou/monoex

Repository files navigation

Monoex

tests codecov Codacy Badge Latest Stable Version Total Downloads License

Monolog extensions.

  • Version 0.x Support PHP 7.1 ~ 8.0 and Laravel 5.7 ~ 9.0.
  • Version 2.x Support PHP 8.1 and Laravel 10.

Use on Laravel

This package implements Package Discovery, and the following PSR-17 / PSR-18 driver must be register:

  • Psr\Http\Client\ClientInterface
  • Psr\Http\Message\RequestFactoryInterface
  • Psr\Http\Message\StreamFactoryInterface

Example, use laminas/laminas-diactoros and symfony/http-client:

$app->singleton(RequestFactoryInterface::class, new \Laminas\Diactoros\RequestFactory());
$app->singleton(ResponseFactoryInterface::class, new \Laminas\Diactoros\ResponseFactory());
$app->singleton(StreamFactoryInterface::class, new \Laminas\Diactoros\StreamFactory());

$app->singleton(ClientInterface::class, function($app) {
    return new \Symfony\Component\HttpClient\Psr18Client(
        null,
        $app->make(ResponseFactoryInterface::class),
        $app->make(StreamFactoryInterface::class)
    );
});

Finally, the logging.php config can use by new driver psr18slack:

return [
    'channels' => [
        'stack' => [
            'driver' => 'psr18slack',
            // same as slack driver
            'url' => env('LOG_SLACK_WEBHOOK_URL'),
            'username' => 'Laravel Log',
            'emoji' => ':boom:',
            'level' => 'critical',
        ],
    ],
];

License

The MIT License (MIT). Please see License File for more information.