2012-06-12 13 views
5

Mage :: log funziona bene per me, eccetto quando si tratta di stampare informazioni sull'array.Magento registra il contenuto dell'array di stampa

Per esempio, se ho un risultato array $, e fare questo:

Mage :: log ('[CartController: getDeliverLeadTime (paese):'.. $ Result ')');

Nel mio file SYSTEM.LOG ottengo solo: [CartController: getDeliverLeadTime ~ (paese): Array)

* voglio per stampare l'attuale struttura e il contenuto della matrice, come normale print_r dovrebbe fare. *

Se eseguo un var_dump dell'array, non ottengo nulla, ovvero [CartController: getDeliverLeadTime ~ (country):).

Se faccio un print_r ottengo: [CartController: getDeliverLeadTime ~ (paese): 1)

Questo è un bloccatore per me, come io non posso eseguire il debug di cosa ho bisogno per - se qualcuno potrebbe gettare qualsiasi luce su come ottenere che Magento stampi effettivamente il contenuto degli array nei log, sarebbe molto apprezzato.

Ho letto su alanstorm.com che il suo scopo era quello di accadere di default, ma non per me.

Grazie Paul

risposta

14

si deve tornare print_r come una stringa, quindi print_r($result, true) dovrebbe fare il trucco.

+0

Max Grazie mille per questo! Funziona perfettamente, questo è un grande sollievo. Posso contrassegnare la domanda come risposta in 7 minuti, lo farò allora. Grazie ancora, Paul. – pokero

+0

@pokero non dimenticare di votare e accettare la risposta se ti ha aiutato fuori –

+0

Grazie Anton, fatto. – pokero

0

Dai un'occhiata a codice sottostante codice,

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

file di controllo test.log nella cartella var/log.

1

Prova ora

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

Mage::log($array); 

uscita

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