ruSSbalabanov / slack-notifier
Slack 通知工具
v1.0.5
2021-05-26 12:32 UTC
Requires
- php: ^7.1.3|^8.0
- guzzlehttp/guzzle: ^6.3|^6.4|^6.5
- monolog/monolog: ^1.24|^2.0
- symfony/http-foundation: ^4.0|^5.0
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 许可证下发布。有关详细信息,请参阅附带许可证文件。