对于我来说,Mage :: log工作正常,除了打印数组信息。
例如,如果我有一个数组$ result,并执行此操作:
Mage :: log('[CartController:getDeliverLeadTime(country):'。$ result。')');
在我的system.log文件中,我得到: [CartController:getDeliverLeadTime~(country): Array )
* 我希望它能够打印数组的实际结构和内容,就像普通的print_r一样。*
如果我执行数组的var_dump,我什么也得不到,即[CartController:getDeliverLeadTime~(country):)。
如果我做了print_r,我会得到: [CartController:getDeliverLeadTime~(国家):1)
这对我来说是一个阻碍因为我无法调试我需要的东西 - 如果有人能够阐明如何让Magento实际打印日志中的数组内容,将不胜感激。
我在alanstorm.com上看到它默认情况下会发生,但不适合我。
由于 保罗
答案 0 :(得分:14)
您必须将print_r作为字符串返回,因此print_r($result, true)
应该可以做到这一点。
答案 1 :(得分:2)
试一试
$array = array('ID' => 1, 'NAME' => 'Amaresh', 'EMAIL' => 'example@gmail.com');
Mage::log($array);
<强>输出强>
2015-09-18T06:44:24+00:00 DEBUG (7): Array
(
[ID] => 1
[NAME] => Amaresh
[EMAIL] => example@gmail.com
)
答案 2 :(得分:0)
查看代码下方的代码,
$collection = Mage::getModel('catalog/product')->getCollection()
Mage::log("Query product: ".print_r($collection->getData(), true),null,'test.log');
检查test.log
文件夹中的文件var/log
。