返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >浅谈Laravel中使用Slack进行异常通知
  • 901
分享到

浅谈Laravel中使用Slack进行异常通知

2024-04-02 19:04:59 901人浏览 八月长安
摘要

目录概述安装 maknz/slack-laravel 包配置调整 AppExceptionsHandler 类的 report 方法概述 通常,我们可以依靠用户反馈、经常查看程序日志

概述

通常,我们可以依靠用户反馈、经常查看程序日志来发现程序存在的问题。但这要么不可靠要么不及时,所以下面我们介绍一种比较有效的做法--使用 Slack 通知程序跑出的异常信息。

Slack 是一款即时通信软件,类似于 QQ,它提供开放的 api,可以调用它向自己团队中指定的个人或者频道(Channel)发送消息,因此用它来进行异常通知是再合适不过的。

安装 maknz/slack-laravel 包

具体的安装方法请参考 GitHub 上的 [readme](https://github.com/maknz/slack-laravel)。

配置

安装完成后使用 PHP artisan vendor:publish 生成 config\slack.php 配置文件,然后在.env文件中添加如下三项配置值.

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

SLACK_CHANNEL=//消息默认接收频道

SLACK_USERNAME//消息默认接收人

> 当然,也可以直接直接在 config\slack.php 对应配置的默认值而不使用 .env,但并不推荐这样做。

> 根据实际需要设置 SLACK_CHANNEL 和 SLACK_USERNAME ,二者并不是必须的

调整 AppExceptionsHandler 类的 report 方法

实现 Slack 通知异常信息的逻辑。代码如下:


/**
 
 * 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);
}

对于一些可能频繁出现但又不致命的异常,例如404 NotFoundHttpException,我们可能并不想让程序通知它。为此,我们只需要在 aop\Exceptions\Handler 类里的 $dontReort 属性中加入指定的异常的类型就可以了。


protected $dontReport = [
 
    NotFoundHttpException::class,
 
    // ...
 
];

示例中展示的是对指定的频道(channel)发送信息,当然你还可以向指定的人发送,或者其它更复杂的用法。不过要注意指定的用户名和频道是自己 slack 团队中已经存在的,不然会出错。

这样,当程序中出现异常时,运维能在第一时间收到相关的通知信息,方便及时处理了。

以上就是浅谈Laravel中使用Slack进行异常通知的详细内容,更多关于Laravel中使用Slack进行异常通知的资料请关注编程网其它相关文章!

--结束END--

本文标题: 浅谈Laravel中使用Slack进行异常通知

本文链接: https://lsjlt.com/news/127131.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 浅谈Laravel中使用Slack进行异常通知
    目录概述安装 maknz/slack-laravel 包配置调整 AppExceptionsHandler 类的 report 方法概述 通常,我们可以依靠用户反馈、经常查看程序日志...
    99+
    2024-04-02
  • Laravel中如何使用Slack进行异常通知
    小编给大家分享一下Laravel中如何使用Slack进行异常通知,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!概述通常,我们可以依靠用户反馈、经常查看程序日志来发...
    99+
    2023-06-15
  • 浅谈Laravel中如何对大文件进行加密
    我已经搜索过用于解决此问题的软件包或解决方案,并遇到了这个 Stack Overflow 回答和这个 PHP 解决方案,该解决方案基本上是 Stack Overflow 所描述的解决...
    99+
    2024-04-02
  • 浅谈el-table中使用虚拟列表对对表格进行优化
    目录前言解决思路具体实现需要满足的必备条件问题前言 我们会经常使用表格,如果数据量大就直接可以分页,但是不可避免的会出现一些需要一页要展示很多条的情况,或者不用分页。 这个时候如果...
    99+
    2024-04-02
  • 详解使用Python+Pycaret进行异常检测
    目录概述介绍为什么是PyCaret学习目标PyCaret安装数据导入探索性异常检测分析Swarm图箱形图散点图异常检测模型创建隔离森林局部异常因子K最近邻比较模型中的异常解释和可视化...
    99+
    2024-04-02
  • 如何在Python中使用Selenium对异常进行处理
    这篇文章主要介绍了如何在Python中使用Selenium对异常进行处理,编程网小编觉得不错,现在分享给大家,也给大家做个参考,一起跟随编程网小编来看看吧!python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和面向对...
    99+
    2023-06-06
  • 怎么在python中使用except对异常进行处理
    本篇文章为大家展示了怎么在python中使用except对异常进行处理,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。python有哪些常用库python常用的库:1.requesuts;2.scra...
    99+
    2023-06-14
  • Laravel 中如何使用 Python 进行编程?
    Laravel 是一款流行的 PHP 开发框架,它具有简单易用、高效稳定的特点。Python 是一门广泛应用于科学计算、人工智能等领域的编程语言。那么,如何在 Laravel 中使用 Python 进行编程呢?本文将为你详细介绍。 一、Py...
    99+
    2023-07-19
    unix 编程算法 laravel
  • 浅谈Python中用datetime包进行对时间的一些操作
    1. 计算给出两个时间之间的时间差 import datetime as dt # current time cur_time = dt.datetime.today() # one day pre_t...
    99+
    2022-06-04
    浅谈 中用 操作
  • 使用Go语言进行高级异常处理
    在 go 中,处理高级异常的最佳实践包括:使用 try-catch-finally 语句处理异常。创建自定义错误类型以提供更有意义的异常信息。传递错误值以跟踪异常来源。使用恐慌和恢复来处...
    99+
    2024-04-15
    go 异常处理 go语言
  • thinkphp5.1 中使用自定义异常处理类进行接管
    配置文件修改 config/app.php 自定义异常接管类出处 'exception_handle' => ‘\app\common\exception\ExceptionH...
    99+
    2024-04-02
  • Laravel项目中如何使用Git进行同步?
    Laravel是一款非常流行的PHP框架,它以简单、优雅、易学的特点受到了广大开发者的喜爱。Git是一个分布式版本控制系统,它可以帮助团队协作开发,并且方便多人同时修改代码。在Laravel项目中,使用Git进行同步是非常必要的,本文将介...
    99+
    2023-11-02
    同步 git laravel
  • Java中使用Laravel框架进行异步编程的最佳实践是什么?
    Java是一种广泛使用的编程语言,而Laravel则是一种流行的PHP框架。虽然它们彼此不同,但结合使用可以提高开发效率和代码质量。本文将探讨Java中使用Laravel框架进行异步编程的最佳实践。 一、什么是异步编程? 异步编程是一种编程...
    99+
    2023-07-19
    path laravel 异步编程
  • thinkphp5.1中怎么使用自定义异常处理类进行接管
    小编给大家分享一下thinkphp5.1中怎么使用自定义异常处理类进行接管,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!配置文件修改config/app.php自定义异常接管类出处'exception_handle...
    99+
    2023-06-20
  • 使用 Firebase 进行通知,捕获“应用程序实例注销”
    大家好,今天本人给大家带来文章《使用 Firebase 进行通知,捕获“应用程序实例注销”》,文中内容主要涉及到,如果你对Golang方面的知识点感兴趣,那就请各位朋友继续看下去吧~希望能真正帮到你...
    99+
    2024-04-04
  • 使用spring boot如何对异常请求进行处理
    这期内容当中小编将会给大家带来有关使用spring boot如何对异常请求进行处理,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。404异常处理:@Controllerpublic class&n...
    99+
    2023-05-31
    springboot 进行处理
  • 如何在 Bash 中使用 Go 和 Laravel 进行存储?
    Bash 是一个流行的命令行解释器和脚本语言,被广泛应用于 Linux 和 Unix 操作系统中。而 Go 和 Laravel 则是两个非常流行的编程语言和框架,它们分别用于开发高性能的服务器端应用程序和 Web 应用程序。 在本文中,我...
    99+
    2023-09-19
    laravel 存储 bash
  • 如何在Laravel中使用Java容器进行同步?
    Laravel是一款非常流行的PHP框架,它的使用已经非常广泛。Java容器是一种非常强大的工具,可以帮助我们完成各种各样的任务。在本篇文章中,我们将会介绍如何在Laravel中使用Java容器进行同步。 简介 Java容器是一种非常流...
    99+
    2023-09-14
    容器 同步 laravel
  • 你知道如何使用 Python 和 NumPy 进行异步编程吗?
    当我们需要对大量数据进行处理时,异步编程可以提高效率。Python 作为一门高级编程语言,有着广泛的应用场景,并且可以与 NumPy 搭配使用,帮助我们更高效地处理数据。 异步编程是指在同一线程内处理多个任务,而不是像传统的同步编程一样,一...
    99+
    2023-07-22
    numy 异步编程 npm
  • C++ 技术中的异常处理:如何使用异常处理来进行错误处理和恢复?
    答案:c++++ 中的异常处理可用于处理和恢复运行时错误。异常处理机制:异常抛出:使用 throw 关键字抛出异常对象。异常捕获:catch 块捕获抛出的异常。异常处理:try-catc...
    99+
    2024-05-09
    错误处理 异常处理 c++
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作