cmdisp / monolog-microsoft-teams
Monolog Handler for sending messages to Microsoft Teams using the Incoming Webhook connector
Installs: 728 975
Dependents: 2
Suggesters: 2
Security: 0
Stars: 51
Watchers: 5
Forks: 16
Open Issues: 3
Requires
- php: ^8.1
- ext-curl: *
- ext-json: *
- monolog/monolog: ^3.3.1
Requires (Dev)
- php-coveralls/php-coveralls: ^2.5.3
- phpunit/phpunit: ^10.1.3
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.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
License
monolog-microsoft-teams is available under the MIT license. See the LICENSE file for more info.