cmdisp/monolog-microsoft-teams

This package is abandoned and no longer maintained. No replacement package was suggested.

Monolog Handler for sending messages to Microsoft Teams using the Incoming Webhook connector

2.0.1 2023-05-11 12:29 UTC

This package is not auto-updated.

Last update: 2024-07-10 14:44:27 UTC


README

This package depends on the Office 365 connectors within Microsoft Teams. Microsoft has announced that they are retiring the Office 365 connectors as of 15 August 2024. All connectors will stop working on 1 October 2024. Microsoft recommends Power Automate workflows as the solution for sending information to Teams. This new workflow format is not backward compatible.

As a result, there is no viable path for us to continue to maintain this package beyond this point. It is therefore deprecated as of July 2024.

monolog-microsoft-teams

Monolog Handler for sending messages to Microsoft Teams channels using the Incoming WebHook connector.

Install

$ composer require cmdisp/monolog-microsoft-teams

Usage

$logger = new \Monolog\Logger('app');
$logger->pushHandler(new \CMDISP\MonologMicrosoftTeams\TeamsLogHandler('INCOMING_WEBHOOK_URL', \Monolog\Level::Error));

$logger->error('Error message');

Usage with Laravel/Lumen framework (5.6+)

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'],
    ],
],

Unit testing ยท PhpUnit

The tests require a valid Teams Incoming Webhook URL. To provide this URL to PhpUnit, copy phpunit.xml.dist to phpunit.xmland 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

License

monolog-microsoft-teams is available under the MIT license. See the LICENSE file for more info.