Cómo verificar el Log del sistema Magento

Los archivos de registro son muy útiles durante el proceso de desarrollo del sistema para encontrar problemas, conflictos e identificar fallos de funcionamiento.

Magento ofrece 3 (tres) controles de registro:

1. Log de seguimiento de navegación. Ver post: Borrar tabla de log’s.

2. Log de error en el sistema. Ver post: Error log record number.

3. Log de eventos y excepciones. Que veremos en este post.

¿Por qué debería?

Mientras usted está montando su tienda, desarrollando módulos, personalizando páginas, instalando extensiones, es muy importante que usted supervise los eventos y excepciones que ocurren en su sistema.

Es muy común que la gente empieza a personalizar la tienda entera, y “de la nada” algo para funcionar como debería, sea un registro de direcciones, un medio de pago, o una evaluación de productos.

Es posible que haya problemas/conflictos en el código que no llegan a generar un error de continuidad en el sistema, y por lo que no tiene el famoso Error log record number. Lo que no significa que no haya errores.

Cómo utilizar

Tan pronto como usted instala el Magento el control de registro de eventos y las excepciones viene apagado. Porque no es algo esencial para el funcionamiento del sistema.

Pero fundamental para quien está desarrollando. Por eso accede:

Sistema > Configuración > Avanzado > Desarrollador [Configuración de registro]

Y cambie la opción Habilitado a “” y haga clic en guardar.

Además, puede personalizar el nombre de los archivos. Y debajo del nombre él indica el directorio donde estos archivos serán manejados.

Cómo leer

Ahora que su sistema está generando archivos de registro, usted puede acompañar los archivos para identificar posibles problemas, basta con acceder al directorio indicado:

su instalación > var > log

Ambos archivos se enumeran system.log y exception.log.

En donde se puede utilizar el system.log para generar un debug del código, con mensajes del tipo “método llamado y devolviendo valor X“. O generar una alerta del tipo “valor no válido para el cálculo en la firma del método“.

Y el archivo exception.log es donde se supervisan los errores. Son errores similares a los generados por el Error log record number, la diferencia es que no llegan a impedir que el sistema siga funcionando. Ejemplo:

2013-07-24T07:23:14+00:00 ERR (3): 
exception 'Exception' with message 'Strict Notice: Non-static method Mage_Core_Model_Locale::date() should not be called statically, assuming $this from incompatible context in /Users/mariosam/app/design/frontend/base/default/template/catalog/product/widget/new/content/new_list.phtml on line 74' in /Users/mariosam/app/code/core/Mage/Core/functions.php:245
Stack trace:
#0 /Users/mariosam/app/design/frontend/base/default/template/catalog/product/widget/new/content/new_list.phtml(74): mageCoreErrorHandler(2048, 'Non-static meth...', '/Users/mariosam...', 74, Array)
#1 /Users/mariosam/app/code/core/Mage/Core/Block/Template.php(216): include('/Users/mariosam...')

Continúa hasta el número #20, #30, #40 {main}. Pero lo que realmente importa son las primeras líneas.

Y si no sabe cómo interpretar el mensaje, copie la información y acceda al foro de Bragento para obtener ayuda.

Usando el Log

Si usted es un desarrollador, puede utilizar los archivos de registro para depurar su código. Sólo tienes que utilizar el siguiente código:

Registro de excepciones:
...
} catch(Exception $e) {
    Mage::logException($e);
}

La firma del método es ésta:

public static function logException(Exception $e)
Registro de eventos:
Mage::log('su msg aquí...');

La firma del método es ésta:

public static function log($message, $level = null, $file = '', $forceLog = false)

En el caso de que se produzca un error en el sistema, se debe tener en cuenta que el valor de un valor (level) es importante, el nombre de un archivo (file) para grabar el registro, y si debe forzar a la grabación del archivo mismo con el sistema de registro desconectado.

¿Quieres otros consejos sobre cómo utilizar el archivo de registro para depurar? Ver el wiki en el sitio oficial: Magento Debugging Tips.

Éxito!

Hasta que surja la oportunidad de mudarme a España, sigo ayudando desde la distancia.