Skip to content
This repository has been archived by the owner on Jul 10, 2024. It is now read-only.

Monolog Handler for sending messages to Microsoft Teams channels

License

Notifications You must be signed in to change notification settings

cmdisp/monolog-microsoft-teams

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DEPRECATION NOTICE

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.

About

Monolog Handler for sending messages to Microsoft Teams channels

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages