Magento';s Mage::log()导致出现白色屏幕


Magento's Mage::log() causes white screen

使用Magentos日志工具Mage::log()时,有时会出现白色屏幕。没有错误消息输出到屏幕或任何日志文件(var/log/system.log,var/log/exception.log)

这似乎只有当我试图记录一个非常大的对象时才会发生。例如,当我尝试这个时

Mage::log(Mage::helper('catalog/category')->getStoreCategories());

在块控制器内部,它会导致一个白色屏幕
当我尝试在app/design/frontend/enterprise/default/template/catalog/product/view/media.phtml中记录当前产品时,也会发生同样的情况使用

Mage::log($_product);

通常Mage::log()工作正常,并将所有内容写入system.log文件
我想知道这是否发生在其他人身上,或者是否有人知道为什么会发生这种事?

Mage::log的工作原理与print_r非常相似,也打印私有值和受保护值,其中包括大量的资源详细信息。您可以使用特制的Varien_Object::debug方法来避免这些问题。

Mage::log($_product->debug());

debug也是首选,因为它检测递归,而不是所有版本的PHP都检测递归。

我想每个人都会遇到这种情况。

尽量不要记录大型对象。

如果你需要的话,我会建议你用骰子。

例如像这个

$object=。。。;死亡($object);或die('pre-html-tag'.print_r($object,true).'pre-html-tag');