culy / monolog-microsoft-teams
使用 Incoming Webhook 连接器向 Microsoft Teams 发送消息的 Monolog 处理器
1.2.0
2021-01-26 12:33 UTC
Requires
- php: ^7.2|^8.0
- monolog/monolog: ^1.23|^2.0
Requires (Dev)
- ext-curl: *
- php-coveralls/php-coveralls: ^2.0
- phpunit/phpunit: ^5.7|^6.0|^7.0|^9.0
README
使用 Incoming WebHook 连接器向 Microsoft Teams 频道发送消息的 Monolog 处理器。
安装
$ composer require culy/monolog-microsoft-teams
使用方法
$logger = new \Culy\Microsoft\Teams\TeamsLogger('INCOMING_WEBHOOK_URL', \Monolog\Logger::ERROR); $logger->error('Error message');
或者
$logger = new \Monolog\Logger('app'); $logger->pushHandler(new \Culy\Microsoft\Teams\TeamsLogHandler('INCOMING_WEBHOOK_URL', \Monolog\Logger::ERROR));
使用 Laravel/Lumen 框架(5.6+)的方法
创建一个 自定义通道
config/logging.php
'teams' => [ 'driver' => 'custom', 'via' => \Culy\Microsoft\Teams\TeamsLogChannel::class, 'level' => 'error', 'url' => 'INCOMING_WEBHOOK_URL', ],
将错误消息发送到 teams 频道
Log::channel('teams')->error('Error message');
您还可以将 teams
添加到默认的 stack
通道,这样所有错误都会自动发送到 teams
通道。
'channels' => [ 'stack' => [ 'driver' => 'stack', 'channels' => ['single', 'teams'], ], ],
单元测试 · PhpUnit
测试需要有效的 Teams Incoming Webhook URL。 要将此 URL 提供给 PhpUnit,请将 phpunit.xml.dist
复制到 phpunit.xml
并在 <php>
部分设置 URL。请确保不要将您的本地 phpunit.xml 提交到仓库!
<php> <env name="TEAMS_INCOMING_WEBHOOK_URL" value="https://outlook.office.com/webhook/..." /> </php>
在命令行中运行测试
$ composer test
许可证
monolog-microsoft-teams 在 MIT 许可证下可用。有关更多信息,请参阅 LICENSE 文件。