edsonjorgef1/laravel-teams-logging

Laravel 扩展包,能够通过 Incoming Webhook 连接器将消息发送到 Microsoft Teams。它支持 Laravel 8.x

1.1.0 2022-11-16 13:41 UTC

This package is auto-updated.

Last update: 2024-09-16 17:44:44 UTC


README

Latest Version on Packagist Software License Total Downloads

Laravel 处理器,使用 Incoming Webhook 连接器将消息发送到 Microsoft Teams。

安装

使用 composer 安装此包。

$ composer require edsonjorgef1/laravel-teams-logging

集成

该包已在 Laravel 和 Lumen 框架(5.7+)上测试并正常工作。

Laravel:安装完成后,您需要将以下行添加到您的 config/app.php 文件中

Edsonjorgef1\LaravelTeamsLogging\LoggerServiceProvider::class

Lumen:对于 Lumen,您需要将以下行添加到您的 bootstrap/app.php 文件中

$app->register(Edsonjorgef1\LaravelTeamsLogging\LoggerServiceProvider::class);

Laravel:然后从 laravel-teams-logging 复制 teams 配置文件到您的配置目录

$ php artisan vendor:publish --provider="Edsonjorgef1\LaravelTeamsLogging\LoggerServiceProvider"

Lumen:对于 Lumen,您需要手动将文件复制到您的配置目录,并在 bootstrap/app.php 中启用它

$app->configure('teams');

使用 Laravel 日志文件创建一个 自定义通道,或为 Lumen 创建新的日志配置文件。

将此配置添加到 config/logging.php 文件中

'teams' => [
    'driver'    => 'custom',
    'via'       => \Edsonjorgef1\LaravelTeamsLogging\LoggerChannel::class,
    'level'     => 'debug',
    'url'       => env('INCOMING_WEBHOOK_URL'),
    'style'     => 'simple',    // Available style is 'simple' and 'card', default is 'simple'
],

或简单地添加名称以指定每个连接器的不同项目名称。

'teams' => [
    'driver'    => 'custom',
    'via'       => \Edsonjorgef1\LaravelTeamsLogging\LoggerChannel::class,
    'level'     => 'debug',
    'url'       => env('INCOMING_WEBHOOK_URL'),
    'style'     => 'simple',    // Available style is 'simple' and 'card', default is 'simple'
    'name'      => 'Dummy Project'
],

Microsoft Teams 消息有 2 种可用样式,简单和卡片。您可以在结果样式(与简单样式不同)中查看卡片样式。

在将配置添加到您的 config/logging.php 文件后,将 INCOMING_WEBHOOK_URL 变量添加到您的 .env 文件中,并使用 Microsoft Teams 连接器的 URL。请参阅 microsoft teams 文档以找到您的连接器 URL。

用法

要向 teams 通道发送简单的错误消息,您可以使用以下脚本

Log::channel('teams')->error('Error message');

或者,您可以使用日志上下文向卡片消息添加更多信息。

Log::channel('teams')->error('Error message', 
    [
        'name'  => 'Assigned to',
        'value' => 'Unassigned',
    ]);

在简单样式下,日志上下文将忽略消息。

您还可以将 teams 添加到默认的 stack 通道,以便将所有错误自动发送到 teams 通道。

'channels' => [
    'stack' => [
        'driver' => 'stack',
        'channels' => ['single', 'teams'],
    ],
],

结果

以下是使用卡片样式发送到 Microsoft Teams 通道的通知的一些结果。

  • Microsoft Teams 通道中的调试日志预览 Screenshot

  • Microsoft Teams 通道中的信息日志预览 Screenshot

  • Microsoft Teams 通道中的注意日志预览 Screenshot

  • Microsoft Teams 通道中的警告日志预览 Screenshot

  • Microsoft Teams 通道中的错误日志预览 Screenshot

  • Microsoft Teams频道中的关键日志预览 截图

  • Microsoft Teams频道中的警报日志预览 截图

  • Microsoft Teams频道中的紧急日志预览 截图

AVATARS

  • 紧急
    Screenshot
  • 警报
    Screenshot
  • 关键
    Screenshot
  • 错误
    Screenshot
  • 警告
    Screenshot
  • 通知
    Screenshot
  • 信息
    Screenshot
  • 调试
    Screenshot

许可证

此laravel-teams-logging软件包遵循MIT许可证。有关更多信息,请参阅LICENSE文件。