cmdisp / monolog-microsoft-teams
Monolog Handler for sending messages to Microsoft Teams using the Incoming Webhook connector
Installs: 634 075
Dependents: 2
Suggesters: 2
Security: 0
Stars: 51
Watchers: 5
Forks: 16
Open Issues: 2
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-04-11 16:49:18 UTC
README
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.