Pregunta

Me gustaría registrar algunas variables como $mageRunCode antes de que llegue:

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

Parece que Mage::log E incluso la instalación de registro de Zend no parece iniciar sesión en una salida de archivo arbitraria aquí. ¿Cómo haría esto correctamente?

¿Fue útil?

Solución

¿Alguna razón específica por la que tiene que hacerlo antes de que Mage :: Run se llama en index.php? ¿Le preocupa que se cambien?

Intentar iniciar sesión en ese punto requeriría que ajuste el archivo central (index.php) que no es una buena práctica.

Algo de flujo:

En Mage :: Run You Get:

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

Las variables que le interesan no han cambiado en este momento.

En mage_core_model_app :: Ejecute Obtienes esta línea de código:

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

Por lo tanto, Magento -Postals guarda muy bien los parámetros utilizados para usted en el registro.

Para registrarlos, puede usar el evento 'Controller_front_init_before', que es uno de los primeros eventos (utilizables) despedidos.

En ese caso, puede extraer los parámetros guardados y registrarlos.

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

Observar que esto colocaría una sobrecarga drástica en el rendimiento de sus sitios, ya que registrará cada solicitud. ¿Curioso por qué necesitarías registrarlos?

Evento utilizable más temprano

Otros consejos

Supongo que estás tratando de registrar cosas en el modo de desarrollador/entorno local, y quieres jugar.

Si desea registrar algo en Magento en un archivo de registro personalizado, puede usar

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

Para esto, debe tener el registro habilitado en el backend admin. Esto registrará cosas para magento_root/var/log/myVariable.log

Consejo: también puede imprimir todo el camino de retroceso (para algún otro código profundamente establecido) usando

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

La ventaja de imprimir todo el retroceso es que puede ver el método exacto/flujo XML que su llamada está siguiendo para alcanzar ese punto en ejecución, en cualquier lugar dentro del código PHP. Por supuesto, esto genera el resultado a magento_root/var/log/backtrace.log

Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top