culy/monolog-microsoft-teams

使用 Incoming Webhook 连接器向 Microsoft Teams 发送消息的 Monolog 处理器

1.2.0 2021-01-26 12:33 UTC

This package is auto-updated.

Last update: 2024-09-26 20:53:54 UTC


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 文件。