成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

制作一個(gè)BearyChat的Laravel項(xiàng)目錯(cuò)誤日志通知機(jī)器人

gaosboy / 3018人閱讀

摘要:修改在方法中添加如下代碼就可以了日志機(jī)器人好了,在代碼中故意寫個(gè)錯(cuò)誤,看看收到錯(cuò)誤日志了。如果覺得本篇文章對(duì)您十分有益,何不打賞一下

本文最早發(fā)表于本人博客: 制作一個(gè)BearyChat的Laravel項(xiàng)目錯(cuò)誤日志通知機(jī)器人

Laravel 集成?Monolog?來做日志處理,Monolog非常強(qiáng)大,也容易擴(kuò)展,其實(shí)它本身已經(jīng)支持很多Handler了,你可以把日志發(fā)送到郵件或者其他日志收集服務(wù)器或者系統(tǒng)中,因?yàn)槲覀儓F(tuán)隊(duì)使用Bearychat 作為團(tuán)隊(duì)溝通工具,所以把Laravel項(xiàng)目的實(shí)時(shí)錯(cuò)誤日志推送到Bearychat的一個(gè)討論組中,方便組員迅速發(fā)現(xiàn)異常和解決問題 ,其實(shí)很簡(jiǎn)單沒多少行代碼就搞定了。

首先創(chuàng)建BearyChatHandler

data["channel"] = $channel;
        $this->webhook = $webhook;
        parent::__construct($level, $bubble);
    }

    /**
     * {@inheritDoc}
     */
    protected function write(array $record)
    {
        $postData = [
            "text" => $record["datetime"]->format("Y-m-d H:i:s") . "-" . $record["level"] . "-" . $record["level_name"],
            "markdown" => false,
            "notification" => "Laravel Error Log",
            "attachments" => [
                [
                    "title" => current(preg_split("/([.

]+)/i", $record["message"])),
                    "text" => $record["message"],
                    "color" => "#ffa500"
                ]
            ]
        ];
        $postString = json_encode(array_merge($this->data, $postData));
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $this->webhook);
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $postString);
        curl_setopt($ch, CURLOPT_HTTPHEADER, array(
            "Content-Type: application/json"
        ));

        CurlUtil::execute($ch);
    }

}

只要繼承AbstractProcessingHandler,重寫write方法就可以了,write中向Bearychat的webhook地址POST數(shù)據(jù)就可以了,$recordMonolog記錄日志的詳情

創(chuàng)建一個(gè)BearyChat組用來接受通知

新建討論組,比如叫"Laravel錯(cuò)誤日志報(bào)告"

添加機(jī)器人到討論組,點(diǎn)擊Incoming添加一個(gè)比如叫"Laravel日志機(jī)器人",發(fā)送目標(biāo)選擇上一步建的"Laravel錯(cuò)誤日志報(bào)告",這樣就獲取了webhook的URL地址了

把相應(yīng)的人員加到這個(gè)討論組

集成ChearyChatHandler

官方手冊(cè)上講到,你像這樣完全控制Monolog

Custom Monolog Configuration

If you would like to have complete control over how Monolog is configured for your application, you may use the application"s?configureMonologUsing?method. You should place a call to this method in your?bootstrap/app.php?file right before the?$app?variable is returned by the file:

$app->configureMonologUsing(function($monolog) {
$monolog->pushHandler(...);
});

return $app;

但是我們除了發(fā)送到ChearyChat以外還要保留默認(rèn)的記錄到log文件的方式,所以我們不這樣做,我們只要在?Exception Handler的地方添加一個(gè)我們的ChearyChatHandler就可以了。

修改app/Exceptions/Handler.php,在report方法中添加如下代碼就可以了:

pushHandler(new BearyChatHandler("https://yourhookurl","Laravel日志機(jī)器人"));

        return parent::report($e);
    }
......
}

好了,在代碼中故意寫個(gè)錯(cuò)誤,看看BearyChat收到錯(cuò)誤日志了。

如果覺得本篇文章對(duì)您十分有益,何不 打賞一下

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/21617.html

相關(guān)文章

  • [Laravel 5.3] Notification 個(gè)人理解,及 BearyChat Channe

    摘要:提供了一種全新的發(fā)送通知的方式。個(gè)人理解是可以基于某事件操作觸發(fā)一系列的通知任務(wù),而通知方式由通知渠道接管,這樣使得通知或推送邏輯更抽象,更易于管理和重構(gòu)。在之前,我是利用的來完成這一系列通知。使用的配置文件還是原來的,無需重新配置。 Laravel Notification Laravel 5.3 提供了一種全新的發(fā)送通知的方式:Notification 。個(gè)人理解是可以基于某事件(...

    Yang_River 評(píng)論0 收藏0
  • BearyChat 消息推送機(jī)器人 For PHP & Laravel

    摘要:后臺(tái)經(jīng)常需要給管理員老板運(yùn)營(yíng)推送一些事件消息,比如有用戶購買了報(bào)錯(cuò)服務(wù)器流量預(yù)警有新的評(píng)論收到新的意見反饋今日超過等等。 后臺(tái)經(jīng)常需要給管理員/老板/運(yùn)營(yíng)推送一些事件消息,比如有用戶購買了VIP、PHP 報(bào)錯(cuò)、服務(wù)器流量預(yù)警、App Store 有新的評(píng)論、收到新的意見反饋、今日 DAU 超過 10W+ 等等。我之前是做了一個(gè)簡(jiǎn)單的 iOS 應(yīng)用來接收 Push 消息,需要推送消息時(shí)就...

    王巖威 評(píng)論0 收藏0
  • 使用釘釘通知 Laravel 框架系統(tǒng)異常

    摘要:看了兄弟的倍洽通知異常我們團(tuán)隊(duì)主要用釘釘,就想找個(gè)的釘釘通知異常的包,最好是安裝后開箱即用的?;朔昼妼懥艘粋€(gè)釘釘通知異常的包食用方法安裝發(fā)布配置文件配置記得配置你的效果如下倉庫 看了Hanson兄弟的倍洽通知異常 我們團(tuán)隊(duì)主要用釘釘,就想找個(gè)Laravel的釘釘通知異常的包,最好是安裝后開箱即用的。 在Google和GitHub上找了有3分鐘還是沒有找到能開箱即用的,于是自己動(dòng)手豐...

    sumory 評(píng)論0 收藏0
  • 如何在一分鐘內(nèi)配置一個(gè)二維碼機(jī)器人?

    摘要:先去你團(tuán)隊(duì)所在管理面板添加一個(gè)機(jī)器人。這個(gè)過程很費(fèi)時(shí)間不說,偶爾還會(huì)弄錯(cuò),現(xiàn)在有了這個(gè)二維碼機(jī)器人,不止方便,地址也寫在上邊,大家可以即及時(shí)發(fā)現(xiàn)錯(cuò)誤。 真的一分鐘就可以完成一個(gè)二維碼機(jī)器人? 我們團(tuán)隊(duì)在使用自己產(chǎn)品的時(shí)候,經(jīng)常會(huì)有冒出一些很多小想法,比如: 在抽獎(jiǎng)的時(shí)候能不能有個(gè)機(jī)器人幫助我們擲色子?在選擇困難的時(shí)候有一個(gè)機(jī)器人幫我決定中午吃啥?我想把電腦上的一個(gè)頁面用手機(jī)打開,能不能...

    wupengyu 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

gaosboy

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<