Como crear y administrar logs personalizados en magento 2

como-crear-y-administrar-logs-personalizados-en-magento-2 Escrito por @gnuxdar   Publicado 14/07/2023

¿Donde se pueden agregar los Log?

En Magento 2, los logs personalizados se pueden agregar en cualquier lugar de tu código donde desees registrar información relevante. Algunos ejemplos comunes de lugares donde puedes agregar logs son:

1. Controladores: Puedes agregar logs dentro de los controladores para registrar información sobre solicitudes entrantes, parámetros recibidos, errores o cualquier otro evento relevante. Esto te ayudará a rastrear y solucionar problemas relacionados con la interacción de los usuarios con tu tienda en línea.

2. Modelos: Puedes agregar logs dentro de los modelos para registrar información sobre las operaciones de base de datos, eventos importantes o cualquier otro flujo de datos crítico. Esto te ayudará a monitorear y depurar los procesos de manipulación y almacenamiento de datos.

3. Clases de servicios o helpers personalizados: Si has creado clases de servicios o helpers personalizados en tu módulo, puedes agregar logs dentro de ellos para registrar información específica relacionada con sus funcionalidades. Esto te permitirá rastrear y analizar el comportamiento de tus componentes personalizados.

4. Observadores de eventos: Si estás utilizando eventos y observadores en tu módulo, puedes agregar logs dentro de los observadores para registrar información sobre los eventos capturados y las acciones realizadas en respuesta a esos eventos. Esto te ayudará a rastrear y comprender el flujo de eventos en tu aplicación.

Recuerda que es importante agregar logs de manera selectiva y relevante. No sobrecargues tu código con logs innecesarios, ya que esto puede afectar el rendimiento de tu aplicación. Selecciona cuidadosamente los eventos y puntos de control donde la información de registro sea realmente útil para el diagnóstico y la mejora de tu aplicación.

Para agregar logs, puedes utilizar la clase LoggerInterface proporcionada por Magento 2, que ofrece métodos como debug(), info(), warning(), error(), entre otros, para registrar diferentes niveles de mensajes en los logs.

En resumen, puedes agregar logs personalizados en Magento 2 en cualquier lugar de tu código donde desees registrar información relevante para el monitoreo, diagnóstico y mejora de tu aplicación. Identifica los puntos críticos y estratégicos donde la información de registro sea valiosa y utiliza la clase LoggerInterface para registrar los mensajes en los logs.

use Psr\Log\LoggerInterface;

class Order
{
   protected $logger;

   public function __construct(LoggerInterface $logger)
   {
       $this->logger = $logger;
   }


    public function getId(){
        ... 
        $this->logger->debug(‘Order messagge: ‘.$variable); 
    }
}

 

Log perzonalizados

Los logs (registros) son herramientas fundamentales para el desarrollo y la administración de una plataforma como Magento 2. Permiten registrar información relevante sobre el funcionamiento de la aplicación y facilitan la detección y resolución de problemas. En este artículo, aprenderemos a crear y administrar logs personalizados en Magento 2 para tener un mayor control y visibilidad sobre el sistema.

Crear una clase de registro personalizada

En Magento 2, puedes crear una clase de registro personalizada para registrar información específica en los logs. Para ello, sigue estos pasos:

   • Crea un archivo de clase en la ubicación adecuada de tu módulo personalizado (puede ser en app/code/Actecnology/Module/).
   • En la clase, puedes utilizar la inyección de dependencia para obtener una instancia del registro de Magento:

 

use Psr\Log\LoggerInterface;

class CustomLogger
{
   protected $logger;

   public function __construct(LoggerInterface $logger)
   {
       $this->logger = $logger;
   }

   public function logMessage($message)
   {
       $this->logger->info($message);
   }
}


Utilizar el registro personalizado

Una vez que hayas creado tu clase de registro personalizada, puedes utilizarla en tu código para registrar información en los logs. Por ejemplo:

use Actecnology\Module\...\Class;

class MyCustomClass
{
   protected $customLogger;

   public function __construct(CustomLogger $customLogger)
   {
       $this->customLogger = $customLogger;
   }

   public function doSomething()
   {
       // ...
       $this->customLogger->logMessage("Aqui estuvo @gnuxdar!");
       // ...
   }
}


Ver los logs personalizados

Los logs personalizados se pueden encontrar en la carpeta var/log de tu instalación de Magento 2.

Por ejemplo, para ver el contenido del archivo de log personalizado en la terminal, puedes usar el siguiente comando:

tail -f var/log/system.log | grep "gnuxdar"

 

Nota:
En este ejemplo yo cree un fichero al que llame app/code/Actecnology/Module/Model/CustomLogger.php para seguir utilizando la estructura de directorios estándar de Magento 2, donde importe para utilizar la interfaz LoggerInterface y utilice el registro personalizado en un controller.

Al utilizar el metodo info() se pueden localizar la salida de datos en system.log como debug.log, pero sin en cambio se utiliza  debug() solo se puede localizar en debug.log


Crear y administrar logs personalizados en Magento 2 te brinda un mayor control y visibilidad sobre el funcionamiento de tu tienda en línea. Puedes registrar información específica y utilizarla para monitorear y solucionar problemas en tu aplicación. Sigue los pasos mencionados en este artículo para crear tus propios logs personalizados y aprovechar al máximo Magento 2.

Recuerda que los logs deben utilizarse de manera responsable y solo registrar información relevante para el diagnóstico y la mejora de tu aplicación. Evita almacenar información sensible o confidencial en los logs.

Espero que este artículo te haya sido útil para crear y administrar logs personalizados en Magento 2. ¡Si tienes alguna pregunta o comentario, no dudes en compartirlo!

¡Espero que esto te ayude! Cualquier duda, no dudes en escribir en los comentarios.

Happy Coding!



Atras

Últimas Publicaciones

Le puede interesar los ultimos articulos públicados

Como agregar JavaScript Custom en Magento 2 como-agregar-javascript-custom-en-magento-2

En este Post aprenderemos a personalizar la tienda Magento 2. Descubre cómo incorporar JavaScript personalizado para mejorar la funcionalidad y ...

Leer más...
Current version of RDBMS is not supported current-version-of-rdbms-is-not-supported

Current version of RDBMS is not supported. Used Version: 10.6.17-MariaDB-1:10.6.17+maria~ubu2004. Supported versions: MySQL-8, MySQL-5....

Leer más...
Claves para Aprender Desarrollo Web de Manera Efectiva claves-para-aprender-desarrollo-web-de-manera-efectiva

Los principales motivos para aprenderLa motivación es uno de los pilares fundamentales en el proceso de aprendizaje del desarrollo web....

Leer más...
Dominando el Estilo Un Viaje al Mundo de CSS ✨ dominando-el-estilo-un-viaje-al-mundo-de-css

✨ Dominando el Estilo: Un Viaje al Mundo de CSSEn el universo del desarrollo web, CSS (Cascading Style Sheets) desempeña un papel funda...

Leer más...