为了账号安全,请及时绑定邮箱和手机立即绑定

期望监听PHP Fatal error 级别的日志,请问怎么解决?

期望监听PHP Fatal error 级别的日志,请问怎么解决?

守着一只汪 2019-03-16 15:41:37
问题描述使用的是swoftphp运行时会有error级别错误,会直接打印到屏幕或输出到swoole.log,期望能监听到如果是PHP Fatal error就监听到具体错误信息通过钉钉机器人直接推送消息到钉钉群中自己尝试过哪些方法1.在 App::error();主动写入error级别日志时,监听了相关信息相关代码// 请把代码文本粘贴到下方(请勿用图片代替代码)base/vendor/swoft/framework/src/App.php    /**      * error级别日志      *      * @param mixed $message 日志信息      * @param array $context 附加信息      */     public static function error($message, array $context = array())     {        self::dingdingLog($message, $context);        self::getLogger()->error($message, $context);     }         /**      * 发送钉钉消息      * @param mixed $msg 信息      * @param array $context 附加信息      * @param bool $isMe      * @throws \Exception      */     public static function dingdingLog($msg, array $context = array())     {         $serverIp = swoole_get_local_ip();         $serverIp = empty($serverIp) ? '' : JsonHelper::encode($serverIp);         $content = '### <font color="#dd0000">' . APP_NAME . '</font> Error Log' . PHP_EOL;         $content .= '1. Message:' . $msg . PHP_EOL;        if (!empty($context)) $content .= '2. Context:' . JsonHelper::encode($context) . PHP_EOL;         $content .= '3. Time:' . date('Y-m-d H:i:s') . PHP_EOL;         $content .= '4. Ip:' . $serverIp . PHP_EOL;         $body = [            'msgtype' => 'markdown',            'markdown' => ['title' => 'Log Error', 'text' => $content],         ];                  $client = new \Swoft\HttpClient\Client();         $client->post(DING_DING_LOG_URL, ['body' => JsonHelper::encode($body), 'headers' => ['Content-Type' => 'application/json;charset=utf-8']]);        return $client;     }你期待的结果是什么?实际看到的错误信息又是什么?期望能把php运行的error错误也监听
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 679 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号