muhamadhhassan / laramost
This package includes a Monolog handler and formatter for Mattermost to use in a Laravel log channel
v1.1.0
2022-09-26 21:55 UTC
Requires
- composer/ca-bundle: ^1.3
- guzzlehttp/guzzle: ^7.4
- monolog/monolog: >=2.8 <= 3.2
Requires (Dev)
- php: >=8.0
- orchestra/testbench: ^7.7
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-04-27 01:31:06 UTC
README
Laramost is a Monolog handler channel for Laravel that allows you to send log records to a mattermost channel.
Installation
$ composer require muhamadhhassan/laramost
Levels
Monolog levels are used to set the message color and icon
Level Name | Level Value | Color | Emoji |
---|---|---|---|
DEBUG | 100 | #91C4EB | 🔍 |
INFO | 200 | #91C4EB | ℹ️ |
NOTICE | 250 | #99cc33 | 📝 |
WARNING | 300 | #ffcc00 | ⚠️ |
ERROR | 400 | #cc3300 | 🐛 |
CRITICAL | 500 | #cc3300 | ❌ |
EMERGENCY | 600 | #cc3300 | 🚨 |
Usage
In Laravel Apps
In your config/logging.php
add the mattermost
channel to the channels
array:
use LaraMost\Formatter\MattermostFormatter; use LaraMost\Handler\MattermostWebhookHandler; 'channels' => [ 'mattermost' => [ 'driver' => 'monolog', 'handler' => MattermostWebhookHandler::class, 'formatter' => MattermostFormatter::class, 'with' => [ 'hook' => 'https://your-mattermost.com/hooks/xxx-generatedkey-xxx', ], 'level' => 'error' ], ],
Then simply, using Laravel Log
facade:
Log::channel('mattermost')->error('Something went wrong', ['user_id' => 5]);
In any PHP Apps
use Monolog\Logger; use LaraMost\Formatter\MattermostFormatter; use LaraMost\Handler\MattermostWebhookHandler; $logger = new Logger('application'); $handler = new MattermostWebhookHandler('https://your-mattermost.com/hooks/xxx-generatedkey-xxx', Logger::ERROR); $handler->setFormatter(new MattermostFormatter()) $logger->pushHandler($handler); $logger->error('Something went wrong', ['user_id' => 5]);
Both Will send the following message to your mattermost channel:
Warning: When you log to the
mattermost
channel make sure that the level is greater than or equals the one defined inconfig/logging.php