Domanda

vorrei registrare alcune variabili quali $mageRunCode prima che colpisca:

Mage::run($mageRunCode, $mageRunType);

Sembra che Mage::log e anche la funzione di registrazione di Zend non sembrano uscire ad un'uscita file arbitrario qui. Come si potrebbe fare questo correttamente?

È stato utile?

Soluzione

Qual è il motivo specifico che si ha a che fare prima di mago :: run viene chiamato in index.php? Siete preoccupati ottengono cambiato?

Il tentativo di accedere a quel punto richiederebbe di modificare file core (index.php), che non è una buona pratica.

Alcuni flusso:

In Mage :: gestito si ottiene:

self::$_app->run(array(
                'scope_code' => $code,
                'scope_type' => $type,
                'options'    => $options,
            ));

Le variabili a cui è interessato è invariato, a questo punto.

in Mage_Core_Model_App :: gestito si ottiene questa riga di codice:

Mage::register('application_params', $params);

dunque interni Magento ben salva i params utilizzati per voi nel Registro di sistema.

Per loro il login, è possibile utilizzare l'evento 'controller_front_init_before', che è uno dei primi eventi (utilizzabili) licenziato.

In tal caso si può tirare i params salvati, e registrare loro.

$params = mage::registry('application_params');

da notare è che questo avrebbe posto un overhead drastico sulle prestazioni siti, in quanto sarà il login su ogni richiesta. Curioso il motivo per cui si avrebbe bisogno di fare loro il login?

La prima manifestazione utilizzabile

Altri suggerimenti

Io parto dal presupposto che si sta tentando di accedere roba in modalità sviluppatore / ambiente locale, e si vuole smanettare.

Se si desidera accedere qualcosa in Magento in un file di log personalizzato, è possibile utilizzare

Mage::log($myVariable, null, 'myVariable.log');

Per questo, è necessario avere la registrazione abilitato sul backend di amministrazione. Questo registrerà roba da magento_root/var/log/myVariable.log

Suggerimento: È anche possibile stampare l'intero backtrace (per qualche altro codice profondamente prevista) utilizzando

Mage::log(Varien_Debug::backtrace(true, true), null, 'backtrace.log');

Il vantaggio di stampare l'intero backtrace è che si può vedere il flusso l'esatto metodo / xml la chiamata sta seguendo per raggiungere quel punto in esecuzione, ovunque all'interno del codice php. Naturalmente, questo il risultato ai magento_root/var/log/backtrace.log

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top