drbiko / monolog-slack
此包包含将monolog日志发送到Slack频道的处理器/处理器。
v1.1.2
2019-03-29 22:36 UTC
Requires
- php: ^7.0
- ext-json: *
- monolog/monolog: ^1.24
- php-http/guzzle6-adapter: ^2.0
Requires (Dev)
- phpunit/phpunit: ^7.5
- webthink/codesniffer: ^2
This package is auto-updated.
Last update: 2024-08-29 04:54:43 UTC
README
描述
这是一个可以帮助您通过webhooks使用monolog将日志发送到Slack的包。Monolog已经有一个使用Webhooks的Slack处理器,但我不喜欢它,原因如下:
它有一些错误
- Slack接受2000个字符。更多详细信息,请查看。当前包无法发送超过2000个字符,但可以发送直到2000个字符,并且格式良好。
性能
- Monolog有
WhatFailureGroupHandler
,但我认为不将我的处理器包装在另一个处理器中更简单,并且逻辑更简单、更快。查看 - SlackWebhookHandler没有超时,并且在Slack服务中断时执行重试。查看
格式化
- 当前包允许您向
SlackwebhookHandler
添加自定义格式化器以格式化附件。Monolog允许您将格式化器传递给SlackHandlers,但该格式化器仅应用于Slack的简单消息,并且不适用于附件。 - 我已经创建了自定义格式化器,并且我更喜欢我创建的Slack记录的格式,而不是Monolog的格式。
安装
您可以通过composer安装此包
$ composer require webthink/monolog-slack
文档
简单初始化
您可以使用以下行简单初始化SlackWebhookHandler
$handler = new SlackWebhookHandler('your_webhook_url');
格式化器
注入自定义格式化器
现在,如果您需要传递自定义Slack格式化器,则需要执行以下操作
$hanlder->setFormatter($yourFormatter);
- 注意-1:传递给Slack处理器的格式化器必须是
SlackFormatterInterface
的实例。 - 注意-2:如果没有传递自定义格式化器,SlackWebhookHandler默认使用
SlackLineFormatter
。 - 注意-3:在构造处理器时传递的一些设置被传递的格式化器覆盖。
SlackLineFormatter
SlackShortAttachmentFormatter
SlackLongAttachmentFormatter
HTTP客户端。
使用PSR-18 HTTP客户端初始化
在SlackWebhookHandler
内部,您可以注入您的PSR-18 HTTP客户端。
$handler = new SlackWebhookHandler('your_webhook_url', null, null, LogLevel::ERROR, true, $client);`
如果没有传递PSR-18 HTTP客户端作为参数,则SlackwebhookHandler
默认初始化一个\Http\Adapter\Guzzle6\Client
。初始化的客户端具有1秒的超时和连接超时。
变更日志
请查看CHANGELOG以获取有关最近更改的更多信息。
测试
- 从bash运行
composer install
。 - 从bash运行
composer tests
。