企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
简单介绍哈sentry,按照字面意思就是哨兵的意思,作用是集成到你的框架中,出现了异常和错误都可以及时通知你,比如说发邮件。如下图,运行中出现了异常,就马上通知到你了: ![](https://box.kancloud.cn/4404ca725ce33277d56c757a80150e6f_375x207.png) 我使用的是官方的版本(https://sentry.io) ,可以部署到自己的服务器上,这样效率要高很多,我的小项目就不用了 **** 创建异常 - ~~~ public function index1() { try{ echo $test11; }catch (Exception $e){ echo 123; Logs::sentryLogs($e); } } ~~~ 处理异常方法 ~~~ static public function sentryLogs($e) { $sentryClient = new \Raven_Client('https://c5485e6c233347c*******2bf77514a:9a69f3eb68c*************@sentry.io/1193480',[ 'name' => \Raven_Compat::gethostname(),//服务器主机名 'tags' => array( 'php_version' => phpversion(), ), 'environment' => 'production', 'app_path' => ROOT_PATH, 'sample_rate' => 1,//值0.00将拒绝发送任何事件,值1.00将发送100%的事件。 'curl_method' => 'async',//curl异步发送,比同步体验好很多 //回掉方法,在发送数据之前操作 'send_callback' => function ($data) { // strip HTTP data dump($data); }, ]); //设置一些面包屑(比如:出现错误的位置) $sentryClient->breadcrumbs->record(array( 'message' => 'Authenticating ' . 'chenjing', 'category' => 'auth', 'level' => 'error', )); //单独设置用户信息 // $sentryClient->user_context([ // 'id' => 2966, // 'username' => 'chenjing', // 'email' => '465497241@qq.com', // 'mobile' => '15310819874', // 'ip_address' => $_SERVER['REMOTE_ADDR'] // ]); $sentryClient->captureException($e,array( 'extra' => array( 'php_version' => phpversion() ), 'fingerprint' => ['{{ default }}', 'other value'], 'level' => 'warning', 'logger' => 'default', 'tags' => array('key' => 'value'), //设置用户信息 'user' => array( 'id' => 2966, 'username' => 'chenjing', 'email' => '465497241@qq.com', 'ip_address' => $_SERVER['REMOTE_ADDR'] ) )); //当没有异常只想记录信息的时候可以使用这个 // $sentryClient->captureMessage('我的日志消息'); //自动接管错误异常 // $error_handler = new \Raven_ErrorHandler($sentryClient); // $error_handler->registerExceptionHandler(); // $error_handler->registerErrorHandler(); // $error_handler->registerShutdownFunction(); } ~~~