arus-rpa-loggers
v1.2.0
Published
Logging package reusable for ARUS-RPA projects
Readme
Configuración necesaria para el Logger y la conexión a la base de datos.
Definición de Variables .env
Las siguientes variables de entorno deben ser definidas en el archivo .env para que la configuración funcione correctamente. Se recomienda ver el apendice de notas adicionales.
Estas variables se cargarán desde el archivo .env usando la librería dotenv, la cual debe ser configurada al inicio de su aplicación.
Notificación:
LOGGER_SENDS_NOTIFICATION: Define si el Logger debe enviar notificaciones por Correo. Este valor es opcional.LOGGER_NOTIFICATION_HOST: Define la dirección del servidor smtp.LOGGER_NOTIFICATION_PORT: Define el puerto a usar para el servicio de correo.LOGGER_NOTIFICATION_SERVER_USER: Define el usuario para el uso del servicio de correo. Este valor es opcionalLOGGER_NOTIFICATION_SERVER_PASSWORD: Define la contraseña para el uso del servicio de correo. Este valor es opcionalLOGGER_NOTIFICATION_FROM: Define el correo desde el cual se enviará la notificación.LOGGER_NOTIFICATION_TO: Define la dirección de correo de los destinatarios de la notificación (Personas interesadas en la automatización / Desarrollador).LOGGER_NOTIFICATION_SUBJECT: Define el asunto del correo de notificación. # OpcionalLOGGER_NOTIFICATION_BODY: Define el body del correo de notificación, al final del correo se insertará el mensaje y el detalle del log. Este parametro acepta etiquetado HTML. #Opcional
Inserción en base de datos:
LOGGER_INSERTS_TO_DB: Indica si los logs deben ser insertados en la base de datos. Si no desea que se realice (Por temas de Debugging por ejemplo) simplemente no lo agregue al archivo.env.LOGGER_DB_INSERT_PROCEDURE: Nombre del procedimiento almacenado usado para la inserción de logs en la base de datos. Este valor es opcional.LOGGER_SERVICE: Nombre del servicio que está generando los logs. Este valor por defecto es 'default'.LOGGER_DB_HOST: Dirección del servidor de la base de datos (por ejemplo, 'localhost' o la IP del servidor).LOGGER_DB_NAME: Nombre de la base de datos a la que deseas conectarte.LOGGER_DB_PORT: Puerto en el que la base de datos está escuchando. Asegúrate de que sea un número válido (ej. 1433 para SQL Server).LOGGER_DB_USER: Nombre de usuario con permisos de acceso a la base de datos.LOGGER_DB_PWD: Contraseña asociada al usuario de la base de datos. Además, las opciones de conexión comoencryptytrustServerCertificateson configuradas directamente en el objetooptions. Si requieres ajustar estos atributos, puedes hacerlo usando las siguientes variables de entorno:LOGGER_DB_ENCRYPT: encrypt.LOGGER_DB_TSC: trustServerCertificate.
Notas adicionales:
- Las variables marcadas como Opcionales, deben ser agregados siempre con el valor "true" o cualquier otro como "SI", etc. En caso de que usted no deseé que esa variable tenga valor, simplemente no la agregue o comentela, debido a que en el codigo, solo se verifica que la variable exista para "tomarla", mas no su valor (true, false, etc).
- Si la variable opcional
LOGGER_NOTIFICATION_SUBJECTno tiene valor, se agregará un asunto predefinido, este será "NOTIFICACIÓN: Comportamiento inusual<Servicio>" - Si la variable opcional
LOGGER_NOTIFICATION_BODYno tiene valor, se agregará un cuerpo predefinido, este será "<Servicio><level><mensaje><detalle>" que de una u otra forma, siempre se agregará en el body, incluso si no hay valor definido.
Funcionalidades por agregar o mejorar:
- Opción de enviar un correo u otro para segmentar la información dada al desarrollador, y al interesado/s en la automatización.
- Opción de segmentar según el nivel del log
- Enviar un parametro por codigo para saber si es necesario insertar en la base de datos por cada LOG (es decir, aunque la variable de entorno
LOGGER_INSERTS_TO_DBesté marcada, poder definir si hay algunos logs que no deben ser insertados.) - Agrupar errores para enviar en una sola notificación, esto en caso de que hayan errores "comúnes" que terminen haciendo un envio masivo de notificaciones.
Ejemplo de archivo .env:
Si desea copiar este mismo ejemplo, pegue lo siguiente en el .env, y pulse la tecla
Ctrl+Dhasta seleccionar todos los ** (asteriscos dobles) y luego pulseRetroceso
LOGGER_INSERTS_TO_DB=true # Opcional
LOGGER_DB_INSERT_PROCEDURE=InsertLogsAndHistory #Use esta variable de entorno en caso de querer usar algún otro procedimiento almacenado por alguna razón, pero si no la agrega, el valor por defecto será el que hay en este ejemplo.
LOGGER_SERVICE=Cuentas por pagar
LOGGER_DB_HOST=localhost
LOGGER_DB_NAME=my_database
LOGGER_DB_PORT=1433
LOGGER_DB_USER=my_user
LOGGER_DB_PWD=my_password
LOGGER_DB_ENCRYPT=false. # Opcional
LOGGER_DB_TSC=true. # Opcional
LOGGER_SENDS_NOTIFICATION=true # Opcional
LOGGER_NOTIFICATION_HOST=192.168.1.0
LOGGER_NOTIFICATION_PORT=25
LOGGER_NOTIFICATION_FROM="RPALogger" [email protected]
LOGGER_NOTIFICATION_TO[email protected], [email protected], [email protected] #OPCION 1, varios destinatarios || [email protected] #OPCION 2, unico destinatario.
LOGGER_NOTIFICATION_BODY=Cordial saludo, ocurrió un error en el servicio XXXX, el siguiente es el mensaje de error:
LOGGER_NOTIFICATION_SUBJECT= Algo inusual pasó en el servicio XXXX
