Yii自定义DbLogRoute和YI_DEBUG在消息中显示跟踪


Yii custom DbLogRoute with YII_DEBUG shows traces in message

我有一个自定义DbLogRoute,它接受CJSON::编码的数组,而不是'message'。数据被解码并放置在适当的位置等。该部分正常工作。

当YI_DEBUG设置为true时,问题就出现了。

由于某种原因,编码的数据被附加了调试信息,无法再作为JSON进行解码。示例:

{"message":"Success","execution":84,"filename":"test.xml"}
in /projectdir/www/protected/components/CustomApplicationComponent.php (39)
in /projectdir/www/protected/components/ImportFile.php (750)
in /projectdir/www/protected/components/CustomApplicationComponent.php (75)

我设法摆脱这种情况的唯一方法是取消设置YI_DEBUG,但我确实不时需要它,我怀疑这是解决这个问题的最佳方案。

我无法显示大部分代码,但实现基于http://www.yiiframework.com/wiki/521/log-activity-in-database/#c14224除了我还在日志表中添加了对外键和索引的支持之外。

我需要一个聪明的大脑来帮助我弄清楚这些痕迹是从哪里进入画面的,以及如何抑制它!

@Michael Härtl在评论中回答。非常感谢。

这是由于在设置YII_DEBUG时设置了YII_TRACE_LEVEL常量所致。