后端开发|php教程
制作一个BearyChat的Laravel项目错误日志通知机器人
后端开发-php教程
Laravel 集成 Monolog 来做日志处理,Monolog非常强大,也容易扩展,其实它本身已经支持很多 Handler 了,你可以把日志发送到邮件或者其他日志收集服务器或者系统中,因为我们团队使用 Bearychat 作为团队沟通工具,所以把Laravel项目的实时错误日志推送到Bearychat的一个讨论组中,方便组员迅速发现异常和解决问题 ,其实很简单没多少行代码就搞定了。
安卓app商城源码,桌面vscode图片,ubuntu电脑卡死了怎么办,sts tomcat部署,sqlite事务批处理,ckplayer网页插件下载,jsp开发前端的有框架,Python爬虫的技术栈,php 数组 第一个元素,德清谷歌seo,之梦系统怎么修改网站标头图片,愤怒小鸟游戏网页版,主页框架模板lzw
首先创建BearyChatHandler
网站html源码下载,vscode能写hp吗,ubuntu 编译php,tomcat端口转发,litex sqlite,湛江网页设计招聘,网站数据库连接错误,域名服务器又称为,vivi服务安全插件,多平台发布的前端框架是什么,客户爬虫,php 多图片上传,seo日志分析,springboot免登录,phpwind list标签,网站防采集软件,网页高度代码,flash模板替换,网站后台操作,jq 页面向下滚动,值班管理系统asp源码,淘东东程序lzw
data[channel] = $channel; $this->webhook = $webhook; parent::__construct($level, $bubble); } /*** {@inheritDoc}*/ protected function write(array $record) { $postData = [ ext => $record[datetime]->format(Y-m-d H:i:s) . - . $record["level"] . - . $record["level_name"], markdown => false, otification => Laravel Error Log, attachments => [[ itle => current(preg_split("/([.\n\r]+)/i", $record[message])), ext => $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" )); Curl\Util::execute($ch); }}
只要继承 AbstractProcessingHandler ,重写 write 方法就可以了, write 中向Bearychat的 webhook 地址POST数据就可以了, $record 是 Monolog 记录日志的详情
棋牌游戏源码网站,vscode显示隐藏字符,x安装ubuntu,怎么扩展tomcat内存,arxiv 爬虫,ajax 调用php函数,seo优化发展前景,网站首页浮动的电话弹出框,在线课程模板下载 迅雷下载 迅雷下载地址lzw
创建一个BearyChat组用来接受通知
新建讨论组,比如叫”Laravel错误日志报告” 添加机器人到讨论组,点击 Incoming 添加一个比如叫”Laravel日志机器人”,发送目标选择上一步建的”Laravel错误日志报告”,这样就获取了 webhook 的URL地址了 把相应的人员加到这个讨论组
集成 ChearyChatHandler
官方手册上讲到,你像这样完全控制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;
但是我们除了发送到ChearyChat以外还要保留默认的记录到log文件的方式,所以我们不这样做,我们只要在 Exception Handler 的地方添加一个我们的ChearyChatHandler就可以了。
修改 app/Exceptions/Handler.php ,在 report 方法中添加如下代码就可以了:
pushHandler(new BearyChatHandler(https://yourhookurl,Laravel日志机器人)); return parent::report($e); }......}
好了,在代码中故意写个错误,看看BearyChat收到错误日志了。
转载请注明:转载自 Ryan是菜鸟 | LNMP技术栈笔记
如果觉得本篇文章对您十分有益,何不打赏一下