Monolog Handler for sending messages to Microsoft Teams channels using the Incoming WebHook connector.
$ composer require cmdisp/monolog-microsoft-teams
$logger = new \Monolog\Logger('app');
$logger->pushHandler(new \CMDISP\MonologMicrosoftTeams\TeamsLogHandler('INCOMING_WEBHOOK_URL', \Monolog\Level::Error));
$logger->error('Error message');
Create a custom channel
config/logging.php
'teams' => [
'driver' => 'custom',
'via' => \CMDISP\MonologMicrosoftTeams\TeamsLogChannel::class,
'level' => 'error',
'url' => 'INCOMING_WEBHOOK_URL',
],
Send an error message to the teams channel:
Log::channel('teams')->error('Error message');
You can also add teams
to the default stack
channel so all errors are automatically send to the teams
channel.
'channels' => [
'stack' => [
'driver' => 'stack',
'channels' => ['single', 'teams'],
],
],
The tests require a valid Teams Incoming Webhook URL. To provide this URL to PhpUnit, copy phpunit.xml.dist
to phpunit.xml
and set the URL in the <php>
section. Make sure to not commit your local phpunit.xml into the repo!
<php>
<env name="TEAMS_INCOMING_WEBHOOK_URL" value="https://outlook.office.com/webhook/..." />
</php>
Run the tests on the command line:
$ composer test
monolog-microsoft-teams is available under the MIT license. See the LICENSE file for more info.