2012-06-12 75 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] 
)