Controlador de errores del registro del servidor

Aquí consideraremos el Log Error Handler, la poderosa herramienta, desarrollada por el equipo de EasyQA, para ayudarlo a detectar y trabajar con errores.

Log Error Handler: lo que es

Log Error Handler es una joya para revelar y procesar errores en su servidor.

Gem es un sistema de gestión de paquetes para el lenguaje de programación Ruby que proporciona un formato estándar para bibliotecas y programas de Ruby, herramientas diseñadas para administrar fácilmente la instalación de "gemas" y el servidor para su distribución.

.joya El archivo de extensión es un archivo común, dentro del cual hay un archivo de especificación y el código fuente de la biblioteca en el estado en el momento de la publicación.

El principal ventajas del controlador de errores de registro:

  • Se instala e integra la biblioteca Ruby on Rails con todas las dependencias necesarias
  • No tiene dependencias operativas de la plataforma.
  • Ahorras tu tiempo con Log Error Handler
  • Tiene la capacidad de realizar un seguimiento permanente de las actividades de sus servidores.
  • Un mensaje de notificación se envía automáticamente después de la detección de errores

Actualmente, hay 3 variantes de acciones para la revelación de errores, tales como:

  • Para escribir en la terminal
  • Anotar en un documento separado.
  • Para enviar solicitud HTTP al sitio web.

LogErrorHandler

Instalación del LogErrorHandler

Puede instalar el controlador de errores de registro de dos maneras:

1. Agregue esta línea al archivo Gem de su aplicación:

joya 'log_error_handler'

Y luego ejecute:

 $ bundle 

2. Instálelo usted mismo como:

 $ gem install log_error_handler 

Controlador de errores de registro usando

Para hacer que la gema funcione, debe haber un flujo de datos de salida constante. Aquí también hay dos maneras de hacerlo.

1. Para dirigir el tubo a la gema, por ejemplo:

 $ rails s | log_error_handler 

Esto asegurará stdout de su programa para stdin de la gema. La desventaja de este enfoque es que puede aplicarlo solo al iniciar su programa cuyos registros desea rastrear.

2. Para mostrar el camino a su archivo de registro para programar, por ejemplo:

 $ log_error_handler -l log / development.log 

Para generar registros de manera correcta, gema necesita una identificación única de cada solicitud al servidor. En caso de que la mayoría de los servidores sean multiproceso y cada nueva solicitud se elabore en un nuevo flujo, la mejor opción para esto será el identificador de hilos (tid). Para agregar este identificador único, por ejemplo, en el marco de Ruby on Rails solo necesita agregar una línea:

 config.log_tags= [: object_id]

Después de esto, en cada línea de registros de salida, se genera tid. Se parece a esto:

Controlador de errores de registro
Puedes usar RegExp para encontrar tid gem:/^\[\re+\]/.
Pero si el modo de salida tid difiere, puedes configurarlo:

imagen
Por ejemplo, si tid está ubicado entre corchetes y no al comienzo de la línea:

 $ log_error_handler -t / \\ {\\ d + \\} / 

En caso de que este RegExp esté escrito en el terminal, necesitamos la versión de doble pantalla.

Gem descubre que la solicitud tiene un error cuando encuentra la línea que corresponde a RegExp del error:

imagen
Por ejemplo, necesitamos capturar no solo el error 500 sino también el 404:

 $ log_error_handler -e "/(500)|(404).*error/i"


Para mirar a través de los valores por defecto, necesita escribir:

imagen
El tiempo en la configuración por defecto se da en segundos.

Las principales opciones de tiempo:

  • Opción"--not_modify_timeout " significa tiempo para que el hilo termine de escribir registros en este archivo si el tiempo de espera expira, y durante este tiempo el archivo no se modificará al menos una vez, por lo que el archivo se envía a la salida, y si hay algunos errores, se eliminará.
  • Opción"--log_file_tracker_waiting " significa la frecuencia con la que se realizará el ciclo de verificación de los archivos temporales en cada subproceso.
  • Opción"--modo de depuración" proporciona la salida de datos en la salida estándar sobre la lectura de la entrada estándar.

Ingreso de datos del controlador de errores de registro

Como se mencionó anteriormente, hay 3 formas de entrada de datos:

1 en stdout se realiza de forma predeterminada, si no se indica ninguno de los parámetros de salida

2.En el archivo, si se indicara un parametro

imagen
Por ejemplo:

 $ log_error_handler -f error.log 

3.En la red. Para esto necesitas indicar un parámetro:

imagen
Por ejemplo:

 $ log_error_handler -u https://app.geteasyqa.com/projects/upload_crashes

El método HTTP se usa de forma predeterminada para el envío de datos, pero se puede reemplazar fácilmente imagen
Por ejemplo:
 $ log_error_handler -u https://app.geteasyqa.com/projects/upload_crashes -m put 

El mensaje es una clave por defecto, bajo la cual se ubica el error, por lo que el parámetro es responsable de este valorimagen
Por ejemplo:

 $ log_error_handler -u https://app.geteasyqa.com/projects/upload_crashes -m put -k error 

Si necesita enviar algunos parámetros adicionales con un error para poder configurarlos por medio de opciones tales como:imagen
O:

imagen
Por ejemplo:

 $ log_error_handler -u https://app.geteasyqa.com/projects/upload_crashes -m put -k error -a "{\" token \ ": \" uQF7ZYtHh9VDMXBaJojq \ " }"

Antes de enviar todos los errores se codifican en Base64.

Los informes de errores y las solicitudes de extracción son bienvenidos en GitHub en https://github.com/thinkmobiles/log_error_handler.

Entonces, tienes más conocimiento sobre esta herramienta. ¿Por qué no intentar usarlo? Hope, Log Error Handler lo ayudará en su proceso de desarrollo y prueba de software. Sería genial saber qué piensas de nuestra herramienta. Puede dejar sus comentarios y deseos no solo en GitHub, sino también aquí abajo en los comentarios.