Iniciar sesión en index.php?
-
16-10-2019 - |
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?
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?
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