webthink / monolog-slack
此软件包包含将monolog日志发送到Slack渠道的处理程序/处理器。
v2.1.0
2020-05-17 05:57 UTC
Requires
- php: ^7.2
- ext-json: *
- monolog/monolog: ^1.24 || ^2.0
- psr/http-client: ^1.0
- psr/http-factory: ^1.0
Requires (Dev)
- guzzlehttp/psr7: ^1.5
- phpunit/phpunit: ^7.5
- webthink/codesniffer: ^2
This package is auto-updated.
Last update: 2024-08-24 20:46:55 UTC
README
注意 我已创建另一个包含可以发送日志的Monolog处理程序的软件包,这些处理程序使用PSR-18客户端。该软件包是 monolog-http
我将专注于上述软件包。如果您正在使用当前软件包,请让我知道您的看法。
如果您喜欢monolog-http,请给它一个 ⭐。
描述
这是一个软件包,可以帮助您通过monolog使用webhooks将日志发送到Slack。Monolog已经有一个使用Webhooks的Slack处理程序,但我并不喜欢它,原因如下:
它有一些错误
- Slack接受2000个字符。更多详情 请参阅。当前软件包无法发送超过2000个字符,但它能够发送直到2000个字符,并且格式良好。
灵活性
- 本软件包中的处理程序允许您传递自己的PSR-18客户端,可以按您自己的方式配置。
性能
- SlackWebhookHandler没有超时,并且当Slack服务中断时执行重试 请参阅。由于您被允许传递自己的PSR-18客户端,因此您可以按自己的方式配置它。
格式化
- 当前软件包为您提供了向
SlackwebhookHandler
添加自定义格式化器的功能,以格式化附件。Monolog允许您向SlackHandlers传递格式化器,但格式化器只应用于Slack的简单消息,它们不适用于附件。 - 我已经创建了自定义的格式化器。我比Monolog的格式化器更喜欢Slack记录的格式。
安装
您可以通过composer安装此软件包。
$ composer require webthink/monolog-slack
文档
简单初始化
您可以使用以下几行简单初始化SlackWebhookHandler
$client = new PSR18Client(); // PSR18Client does not exist. Use your own implementation. $requestFactory = new PSR17RequestFactory(); // PSR18Client does not exist. Use your own implementation. $handler = new SlackWebhookHandler($client, $requestFactory, 'your_webhook_url');
格式化器
注入自定义格式化器
现在,如果您需要传递自定义的Slack格式化器,您可以这样做:
$handler->setFormatter($yourFormatter);
- 注意-1: 传递给Slack处理程序的格式化器必须是
SlackFormatterInterface
的实例。 - 注意-2: 如果您未传递自定义格式化器,SlackWebhookHandler将默认使用
SlackLineFormatter
。
SlackLineFormatter
SlackShortAttachmentFormatter
SlackLongAttachmentFormatter
变更日志
请参阅 CHANGELOG 了解最近更改的更多信息。
测试
- 在bash中运行
composer install
。 - 在bash中运行
composer tests
。