cytec / laminas-log-slack
将 laminas-log 消息写入 Slack 频道
3.1.0
2021-07-21 11:05 UTC
Requires
- php: >=7.4
- laminas/laminas-http: ^2.14
- laminas/laminas-log: ^2.13
Requires (Dev)
- phpunit/phpunit: ^9.0
README
将 laminas-log 消息写入 Slack 频道
安装
composer require cytec/laminas-log-slack
Slack 配置
日志写入器通过向 Slack 的 "Incoming WebHooks" 集成发送信息来工作
- 打开您希望接收日志的频道。
- 点击左上角的频道名称,然后从下拉菜单中选择 "添加应用或集成"。
- 点击 "构建"(右上角)。
- 点击 "创建自定义集成"。
- 选择 "Incoming WebHooks"。
- 点击大型的绿色按钮 "添加 Incoming WebHooks 集成"。
您需要 Webhook URL 来配置写入器。在 "集成设置" 下,您可以自定义一些默认设置。
用法
手动
$writer = new \Cytec\Log\Writer\Slack('<YOUR_SLACK_WEBHOOK_URL>'); //Optional - use this filter only if you want to send critical messages to Slack $writer->addFilter(new \Laminas\Log\Filter\Priority(\Laminas\Log\Logger::CRIT)); $logger = new \Laminas\Log\Logger(); $logger->addWriter($writer); $logger->info('Informational message'); $logger->crit('Critical message'); //second "extra" parameter is supported and printed as properties in slack $logger->crit('Critical message', $_SERVER);
通过服务管理器
在您的配置中某处(例如 config/autoload/global.php)添加
... 'log' => [ 'SlackLog' => [ 'writers' => [ 'default' => [ 'name' => 'Cytec\Log\Writer\Slack', 'options' => [ 'webhook_url' => '<YOUR_SLACK_WEBHOOK_URL>', 'bot_name' => 'Project Name', //optional 'channel_override' => '#alerts',//optional @person is also supported 'filters' => \Laminas\Log\Logger::CRIT, //optional - filter by priority ] ] ] ] ], ...
然后您可以通过服务管理器获取记录器
$log = $this->getServiceManager()->get('SlackLog'); $log->crit('Critical message');
请注意
由于日志消息是通过 http 接口发送到 Slack API 的,因此此写入器不适合持续写入。这使得它非常慢,并且可能会在应用程序响应时间中增加显著延迟。预期的用途是需要立即引起真人注意的临界或非常高优先级消息。