我有一个Yii
应用程序,其中有许多并发控制台作业写入一个数据库。由于高并发性,有时我会遇到MySQL死锁错误。有时这些可能太多了。 console.log
文件变得太大,转化为更多费用。
我想阻止特定CDbException
个实例的记录,或者至少完全禁止它们(我正在处理异常并可以从那里生成更紧凑的日志语句)。
YII__DEBUG
已被注释掉。
任何人都可以帮我弄清楚如何做到这一点吗?
非常感谢!!
问候。
答案 0 :(得分:0)
我决定修改记录失败的SQL的yii / framwework / db / CDbCommand.php中的日志语句。我将其转换为跟踪声明:
Yii :: trace(Yii :: t('yii','CDbCommand :: {method}()失败:{error}。执行的SQL语句是:{sql}。',array('{method} '=> $ method,'{error}'=> $ message,'{sql}'=> $ this-> getText()。$ par)),CLogger :: LEVEL_ERROR,'system.db。 CDbCommand');
我无论如何都要抓住异常并记录一个更紧凑的句子版本,所以我可以这样做。
这是我能找到的最简单的方法。我们不经常升级Yii,所以如果我们进入下一个版本,我可能会重复更改。