cmdisp / monolog-microsoft-teams

此包已被废弃,不再维护。未建议替代包。

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

2.0.1 2023-05-11 12:29 UTC

This package is not auto-updated.

Last update: 2024-07-10 14:44:27 UTC


README

此包依赖于Microsoft Teams中的Office 365连接器。Microsoft已宣布,他们将从2024年8月15日起退役 Office 365连接器。所有连接器将在2024年10月1日停止工作。Microsoft建议使用Power Automate工作流作为将信息发送到Teams的解决方案。此新的工作流格式与旧版本不兼容。

因此,我们无法继续维护此包。因此,自2024年7月起已弃用。

monolog-microsoft-teams

使用Incoming WebHook连接器向Microsoft Teams通道发送消息的Monolog处理器。

安装

$ composer require cmdisp/monolog-microsoft-teams

使用方法

$logger = new \Monolog\Logger('app');
$logger->pushHandler(new \CMDISP\MonologMicrosoftTeams\TeamsLogHandler('INCOMING_WEBHOOK_URL', \Monolog\Level::Error));

$logger->error('Error message');

使用Laravel/Lumen框架(5.6+)的使用方法

创建一个 自定义通道

config/logging.php

'teams' => [
    'driver' => 'custom',
    'via' => \CMDISP\MonologMicrosoftTeams\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 提交到repo中!

<php>
    <env name="TEAMS_INCOMING_WEBHOOK_URL" value="https://outlook.office.com/webhook/..." />
</php>

在命令行上运行测试

$ composer test

许可证

monolog-microsoft-teams在MIT许可证下可用。有关更多信息,请参阅LICENSE文件。