2012-06-12 113 views
5

法师::日志适合我,,除了打印阵列信息。Magento日志打印阵列内容

举例来说,如果我有一个数组$结果,而做到这一点:

法师::日志( '[CartController:getDeliverLeadTime(国家):'。$结果 ')');

在我SYSTEM.LOG文件我只是得到: [CartController:getDeliverLeadTime〜(国家):阵列

* 我希望它打印数组的实际结构和内容,作为正常的print_r会这样做。*

如果我做了一个var_dump的数组,我什么也没得到,即[CartController:getDeliverLeadTime〜(country):)。

如果我做了print_r的获取: [CartController:getDeliverLeadTime〜(国家):1)

这对我来说是一个拦截器,我不能调试我需要 - 如果任何人都可以摆脱任何关于如何让Magento实际打印日志中的数组内容,将不胜感激。

我在alanstorm.com上看到,它的意思是默认情况下发生,但它不适合我。

感谢 保罗

回答

14

您必须返回print_r作为一个字符串,所以print_r($result, true)应该做的伎俩。

+0

最大感谢一个亿!完美地工作,这是一个很大的解脱。我可以在7分钟内将问题标记为答案,然后这样做。再次感谢,保罗。 – pokero

+0

@pokero不要忘了投票并接受答案,如果它帮助你 –

+0

谢谢安东,完成。 – pokero

0

有在var/log文件夹下面的代码代码一看,

$collection = Mage::getModel('catalog/product')->getCollection() 
Mage::log("Query product: ".print_r($collection->getData(), true),null,'test.log'); 

检查文件test.log

1

试试吧

$array = array('ID' => 1, 'NAME' => 'Amaresh', 'EMAIL' => '[email protected]'); 

Mage::log($array); 

输出

2015-09-18T06:44:24+00:00 DEBUG (7): Array 
(
    [ID] => 1 
    [NAME] => Amaresh 
    [EMAIL] => [email protected] 
)