webthink/monolog-slack

此软件包包含将monolog日志发送到Slack渠道的处理程序/处理器。

资助包维护!
gmponos

安装量: 96,948

依赖者: 0

建议者: 0

安全: 0

星标: 10

关注者: 3

分支: 7

开放问题: 1

类型:monolog-handler

v2.1.0 2020-05-17 05:57 UTC

README

codecov Build Status SensioLabsInsight MIT licensed

注意 我已创建另一个包含可以发送日志的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

slacklineformatter

SlackShortAttachmentFormatter

slackshortattachementformatter

SlackLongAttachmentFormatter

slacklongattachementformatter

变更日志

请参阅 CHANGELOG 了解最近更改的更多信息。

测试

  1. 在bash中运行 composer install
  2. 在bash中运行 composer tests