Mattermost Monolog
This package allows sending log to Mattermost webhook using a dedicated Handler and Formatter., (*1)
This package requires carpediem/mattermost-webhook, (*2)
System Requirements
You need PHP >= 5.6.0 but the latest stable version of PHP is recommended., (*3)
Installation
$ composer require carpediem/mattermost-monolog
Documentation
Basic usage
The code above will register a Mattermost handler to your Monolog\Logger object., (*4)
<?php
require __DIR__ . 'vendor/autoload.php';
use Carpediem\Mattermost;
use GuzzleHttp\Client as GuzzleClient;
use Monolog\Logger;
$template = (new Mattermost\Webhook\Message('This text will be overriden by the logger'))
->setChannel('alerts')
->setUsername('AlertBot')
->setIconUrl('https://cdn2.iconfinder.com/data/icons/security-2-1/512/bug-512.png')
;
$monolog_handler = new Mattermost\Monolog\Handler(
'https://your_mattermost_webhook_url',
new Mattermost\Webhook\Client(new GuzzleClient(['http_errors' => false]))
Logger::WARNING
);
$monolog_handler->setFormatter(new Mattermost\Monolog\Formatter($template));
$logger = new Logger('MyAwesomeLogger');
$logger->pushHandler($monolog_handler);
Advanced usage
If you don't like our formatter don't worry you can create your own formatter as long as, (*5)
-
Formatter::format returns a Carpediem\Mattermost\Webhook\MessageInterface object
-
Formatter::formatBatch returns a Carpediem\Mattermost\Webhook\MessageInterface object
you'll be able to use the Carpediem\Mattermost\Monolog\Handler, (*6)
Contributing
Contributions are welcome and will be fully credited. Please see CONTRIBUTINGfor details., (*7)
Testing
Mattermost Monolog has a PHPUnit test suite and a coding style compliance test suite using PHP CS Fixer. To run the tests, run the following command from the project folder., (*8)
bash
$ composer test, (*9)
Security
If you discover any security related issues, please email dev@carpediem.fr instead of using the issue tracker., (*10)
Credits
License
The MIT License (MIT). Please see License File for more information., (*11)