大多團隊在生產環境下都會關閉app_debug,所以相對應的錯誤信息就不能實時查看到。以下分享一個目前團隊項目正在用的生產環境下相關技術人員能第一時間獲取通知的方法:
先上效果圖:
以上通知是在釘釘中顯示!
下面介紹開發步驟:
1:Thinkphp版本需在6.X或以上,在app/provider.php中接管異常處理
(個人案例中調用方式,具體命名依照對應項目建立)
<code>'think\exception\Handle'
=>'\\app\\common\\exception'
,/<code>
然後在 app 下的 common 文件夾下新建一個 exception.php 文件
具體操作可以參考官方文檔:https://www.kancloud.cn/manual/thinkphp6_0/1037615#_29
案例中我做了些許改動,如需修改請自行對應目錄。
2:在異常接管方法中實現以下代碼
<code>/<code>
3:釘釘Server的創建
<code>/<code>
此處釘釘接口需要一個access_token參數,具體操作步驟參考:
1:先下載PC版釘釘
2:發起群聊,添加至少2人創建群聊
3:點擊群聊界面右上角三個點中的 群機器人,選擇 添加機器人,選擇最後一個 自定義
4:釘釘API地址就在webhook中
到這裡,生產環境下即使關閉了app_debug,我們也能第一時間收到異常記錄了!特別提醒,釘釘貌似每分鐘只能發送20條推送。
關於釘釘的API,代碼中默認調用text文本形式,其實還有很多,例如 link markdown actionCard 方式,小夥伴們可以自行研究~