ruSSbalabanov/slack-notifier

Slack 通知工具

v1.0.5 2021-05-26 12:32 UTC

This package is auto-updated.

Last update: 2024-09-27 21:19:30 UTC


README

Slack notifier 是一个 PHP 库,可以帮助您将 monolog 数据发送到 Slack。无论是需要记录错误或异常,还是需要将漂亮的调试数据作为消息发送,Slack notifier 都适合您。

它主要是为 Symfony 框架开发的,但由于它是一个库,您也可以将其与其他框架一起使用。

Slack notifier 需要 PHP >= 7.1。

安装

composer require russbalabanov/slack-notifier

请确保通过 SLACK_NOTIFIER_DEFAULT_HOOK_URL 环境变量传递 Slack 钩子 URL。这是其他 URL 未指定时的回退 URL。环境变量列表的完整列表 在这里

基本用法

$logger = new Monolog\Logger('default', [new \SlackNotifier\Handler\Handler()]);
$log->error('Some error goes here!');

手动添加附件

use SlackNotifier\Handler\Handler;
use SlackNotifier\Handler\Attachment;
use SlackNotifier\Handler\Field;

$logger = new Monolog\Logger('default', [new Handler()]);

$attachment = (new Attachment('color'))
    ->addField(new Field('Foo', 'Bar', true))
    ->addField(new Field('Baz', 'Zaz', true));
    
$logger->error('A simple error', [
    'attachments' => [
        $attachment
    ]
]);

Symfony 集成

Symfony 框架的集成非常简单。只需进入您的 config 目录(如果您使用 SF4+),选择一个包含所需环境的文件夹,例如 prod,然后修改您的 monolog.yaml 文件,如下所示:

monolog:
  handlers:
    slack:
      type: service
      id: SlackNotifier\Handler\Handler

并确保将此行添加到您的 services.yaml 文件中

SlackNotifier\Handler\Handler:

如果您想跳过一些 HTTP 状态码,可以这样做

    SlackNotifier\Handler\Handler:
        arguments:
            $config: {'skipHttpCodes' : [404, 405]}

钩子 URL 的完整列表

SLACK_NOTIFIER_EMERGENCY_HOOK
SLACK_NOTIFIER_ALERT_HOOK
SLACK_NOTIFIER_CRITICAL_HOOK
SLACK_NOTIFIER_ERROR_HOOK
SLACK_NOTIFIER_WARNING_HOOK
SLACK_NOTIFIER_NOTICE_HOOK
SLACK_NOTIFIER_INFO_HOOK
SLACK_NOTIFIER_DEBUG_HOOK

许可证

Slack notifier 在 MIT 许可证下发布。有关详细信息,请参阅附带许可证文件。