Yii 2 的日志管理提供了多個日志收集工具:
-
yii\log\DbTarget: 使用數(shù)據(jù)庫收集日志 -
yii\log\EmailTarget: 使用郵件收集日志 -
yii\log\SyslogTarget: 使用系統(tǒng)的 Syslog 收集日志
上面的幾個工具除了郵件外,都不能及時的通知到運維人員或開發(fā)者。
好在釘釘提供了聊天機器人功能,使用自定義機器人的 webhook 我們可以將錯誤日志及時的推送到相關人員。
獲取釘釘聊天機器人 Access Token
根據(jù)釘釘官方文檔為群聊添加自定義機器人 https://open-doc.dingtalk.com/docs/doc.htm?&treeId=257&articleId=105735&docType=1,得到 Webhook 地址https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxx
, 聊天機器人 Access Token 即?access_token=后面的內(nèi)容。配置 Yii 2 應用
在配置文件中修改組件log:
'log' => [
'traceLevel' => YII_DEBUG ? 3 : 0,
'targets' => [
// ...
[
'class' => 'iPaya\DingTalk\Log\DingTalkTarget',
'levels' => ['error'],
'robot' => [
'accessToken' => '<你的釘釘聊天機器人 Access Token>'
]
],
// ...
],
],
此時當 Yii 2 程序出現(xiàn) error 級別的錯誤時,釘釘群就會收到機器人發(fā)送的錯誤日志。