Magento记录打印数组内容

时间:2012-06-12 09:26:27

标签: arrays magento logging

对于我来说,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上看到它默认情况下会发生,但不适合我。

由于 保罗

3 个答案:

答案 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