激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專(zhuān)注于服務(wù)器技術(shù)及軟件下載分享
分類(lèi)導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - PHP教程 - 淺談Laravel中使用Slack進(jìn)行異常通知

淺談Laravel中使用Slack進(jìn)行異常通知

2021-11-17 15:59八重櫻 PHP教程

異常處理是軟件開(kāi)發(fā)過(guò)程中無(wú)法逃避的問(wèn)題。對(duì)于一套設(shè)計(jì)良好代碼高效的程序,出現(xiàn)異常的可能性會(huì)比較低,但這并不意味著不會(huì)出現(xiàn)異常,有些異常甚至?xí)饑?yán)重的后果,所以如何及時(shí)的發(fā)現(xiàn)程序中的異常并處理它便顯得十分

概述

通常,我們可以依靠用戶(hù)反饋、經(jīng)常查看程序日志來(lái)發(fā)現(xiàn)程序存在的問(wèn)題。但這要么不可靠要么不及時(shí),所以下面我們介紹一種比較有效的做法--使用 Slack 通知程序跑出的異常信息。

Slack 是一款即時(shí)通信軟件,類(lèi)似于 QQ,它提供開(kāi)放的 API,可以調(diào)用它向自己團(tuán)隊(duì)中指定的個(gè)人或者頻道(Channel)發(fā)送消息,因此用它來(lái)進(jìn)行異常通知是再合適不過(guò)的。

安裝 maknz/slack-laravel 包

具體的安裝方法請(qǐng)參考 Github 上的 [readme](https://github.com/maknz/slack-laravel)。

配置

安裝完成后使用 php artisan vendor:publish 生成 config\slack.php 配置文件,然后在.env文件中添加如下三項(xiàng)配置值.

SLACK_ENDPOINT=//slack 終端,即 slack 接口地址

SLACK_CHANNEL=//消息默認(rèn)接收頻道

SLACK_USERNAME//消息默認(rèn)接收人

> 當(dāng)然,也可以直接直接在 config\slack.php 對(duì)應(yīng)配置的默認(rèn)值而不使用 .env,但并不推薦這樣做。

> 根據(jù)實(shí)際需要設(shè)置 SLACK_CHANNEL 和 SLACK_USERNAME ,二者并不是必須的

調(diào)整 AppExceptionsHandler 類(lèi)的 report 方法

實(shí)現(xiàn) Slack 通知異常信息的邏輯。代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/**
 
 * Report or log an exception.
 
 *
public function report(Exception $e){
    if ($this->shouldReport($e)) {
        $slackMessage = "\n[Error.{$e->getCode()}] {$e->getMessage()}";
        $slackMessage.= "\n[Line.{$e->getLine()}] {$e->getFile()}";
        $slackMessage.= "\n[Time] ".date('Y-m-d H:i:s');
        try {
            Slack::to(config('slack.channel'))->send($slackMessage);
        } catch (\Exception $eOther) {
            \Log::info($slackMessage);
        }
    }
    return parent::report($e);
}

對(duì)于一些可能頻繁出現(xiàn)但又不致命的異常,例如404 NotFoundHttpException,我們可能并不想讓程序通知它。為此,我們只需要在 Aop\Exceptions\Handler 類(lèi)里的 $dontReort 屬性中加入指定的異常的類(lèi)型就可以了。

?
1
2
3
4
5
6
7
protected $dontReport = [
 
    NotFoundHttpException::class,
 
    // ...
 
];

示例中展示的是對(duì)指定的頻道(channel)發(fā)送信息,當(dāng)然你還可以向指定的人發(fā)送,或者其它更復(fù)雜的用法。不過(guò)要注意指定的用戶(hù)名和頻道是自己 slack 團(tuán)隊(duì)中已經(jīng)存在的,不然會(huì)出錯(cuò)。

這樣,當(dāng)程序中出現(xiàn)異常時(shí),運(yùn)維能在第一時(shí)間收到相關(guān)的通知信息,方便及時(shí)處理了。

以上就是淺談Laravel中使用Slack進(jìn)行異常通知的詳細(xì)內(nèi)容,更多關(guān)于Laravel中使用Slack進(jìn)行異常通知的資料請(qǐng)關(guān)注服務(wù)器之家其它相關(guān)文章!

原文鏈接:https://www.cnblogs.com/a609251438/p/12504096.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日本在线播放一区二区 | 一级免费 | 精品人伦一区二区三区蜜桃网站 | 99极品视频| 毛片中文字幕 | 伊人999| 九九热免费精品 | 中文字幕在线观看精品 | 午夜色视频在线观看 | 久在线观看 | 国产精品久久久久久久久久三级 | 成人免费观看毛片 | 国产精品久久久久久久av三级 | 中文区永久区 | 国产精品探花在线观看 | 欧美日韩亚洲视频 | 国产精品视频自拍 | 久久电影一区二区 | 高清做爰免费无遮网站挡 | 久久综合九色 | 国产一区影院 | 538任你躁在线精品视频网站 | 特大黑人videos与另类娇小 | 精品国产99久久久久久宅男i | 国产呻吟 | 精品国产一区二区三区天美传媒 | 久久久久久久久国产精品 | 永久免费不卡在线观看黄网站 | 国产流白浆高潮在线观看 | 成人情欲视频在线看免费 | 国产91久久久久久 | 一级做a爱片性色毛片 | 欧美3p激情一区二区三区猛视频 | 久久精品超碰 | 亚洲精品午夜电影 | 精品久久久久久国产 | 欧美日韩中文字幕在线视频 | 久久精品视频69 | 高清一区二区在线观看 | 久久黄色影院 | 色淫影院|