2012-06-12 10 views
5

Mag :: log działa dobrze dla mnie, z wyjątkiem, jeśli chodzi o drukowanie informacji o tablicy.Magento logs print array contents

Na przykład, jeśli mam tablicę $ result, i to zrobić:

Mage :: log ('[CartController: getDeliverLeadTime (kraj):'.. $ Wynik ')');

W moim pliku system.log ja po prostu: [CartController: getDeliverLeadTime ~ (kraj): Array)

* chcę go wydrukować rzeczywistą strukturę i zawartość tablicy, jako normalny print_r zrobiłby. *

Jeśli zrobię var_dump tablicy, nic nie otrzymam, tj. [CartController: getDeliverLeadTime ~ (country):).

Gdybym zrobić print_r uzyskać: [CartController: getDeliverLeadTime ~ (kraj): 1)

Jest to bloker dla mnie, bo nie potrafi zdiagnozować, co trzeba - jeśli ktoś mógłby rzucić dowolny jasne, jak zmusić Magento do drukowania zawartości tablic w dziennikach, byłoby bardzo docenione.

Przeczytałem na alanstorm.com, że domyślnie jest to możliwe, ale nie dla mnie.

Dzięki Paul

Odpowiedz

14

Trzeba powrócić print_r jako ciąg, więc print_r($result, true) powinno załatwić sprawę.

+0

Max dziękuje milion za to! Działa idealnie, to wielka ulga. Mogę oznaczyć pytanie jako odpowiedź w ciągu 7 minut, zrobię to. Jeszcze raz dziękuję, Paul. – pokero

+0

@pokero nie zapomnij zagłosować i zaakceptuj odpowiedź, jeśli ci to pomogło –

+0

Dzięki Anton, gotowe. – pokero

0

rzucić okiem na kod poniżej kod,

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

plik wyboru test.log w var/log folderu.

1

Wypróbuj

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

Mage::log($array); 

Wyjście

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