Logging puede ser definido como el proceso de grabar eventos o acciones durante la ejecución del flujo de trabajo, envuelve la creación de mensajes de logs que contienen detalles como el incio o fin del proceso, marcas de horas, mensajes de error y severidad de los niveles de mensaje.
Hay diferentes tipos de logging:
- Studio Logs: Los rastros de estudio son mensajes de diagnostico generados por el mismo Studio, contienen información relacionada con el comportamiento.
- Setup Logs: Registra los eventos relacionados con la instalación de Studio, cuando ejecutamos el instalador de Windows todos los errores son guardados en el evento viewer.
- Orchestrator Diagnostic Logs: Los registros de diagnostico son generados por el orquestador generado por UiPath en relación con su comportamiento.
- Robot logs: Registra los eventos relacionados con los robots y su contexto o la ejecución del proceso.
Robot Logs
Existen dos tipos de robot logs:
- Robot execution logs: Son los mensajes generados por la ejecución de un proceso que contiene información relacionada con el comportamiento y mensajes definidos por el usuario.
- Robot diagnostic log: Estos proveen información relacionada con el mismo robot y su contexto
Nuestro enfoque será en los logs del robot ya que puede ser usado para supervisar, diagnósticas y procesos de debug en producción al igual que recolectar datos de rendimiento.
Los logs del robot pueden ser o predeterminados y definidos por el mismo usuario.
Niveles de Logging en UiPath
Cada los tiene un nivel que se refiere a como de importante el mensaje generado es. En otras palabras, los niveles de logging te dejan clasificar los mensajes por severidad.
- Fatal/Critical: El robot no puede o no debería de recuperarse del error, el proceso necesita parar.
- Error: Un error ha ocurrido, el robot intentara recuperarse y pasar al siguiente item
- Warning: Cual informacion importante que necesite destacar del resto de informacion en los logs.
- Information: Información sobre el progreso del robot, usualmente incluye cuando tu entras y sales de un flujo de trabajo, cuando la informacion es leída de una fuente externa
- Trace: Información que es útil cuando se está desarrollando/debugging, aunque no es útil, solo útil para la producción.
- Debugging/Verbose: Genera logs predeterminados para la ejecución de cada actividad, permitiendo un diagnóstico en mayor profundidad.
Accediendo a los logs
Hay diferentes lugares donde puedes acceder a los logs de ejecución del robot:
- En el panel de output en Studio de Upata para la previa ejecución del proceso.
- En la ruta %localappdata%\UiPath\Logs\<shortdate>_Execution.log file para todos los procesos ejecutados en la maquina desde Studio, los logs son generados a nivel de traza y por encima o el nivel Verbose o superior dependiendo de si el nivel Verbose es activado.
- En la ruta %localappdata%\UiPath\Logs\<shortdate>_Execution.log el archive para todos los procesos ejecutados en la maquina desde el asistente de Studio, los logs son generados a un nivel definido en el asistente de Studio o superior.
- En orquestador la sección de logs cuando se ejecuta un proceso mientras está conectada al orquestador.
La anatomía de un log de entrada
Estas entradas pueden ser muy útiles cuando se comprueba los logs de ejecución para analizar comportamientos o descubrir que es lo que causo la excepción, se guardan en formato json.
Los siguientes campos se encuentran en todos los logs:
- Mensaje
- Nivel
- Marca de tiempo
- Nombre del archivo
- JobID
- Nombre del proceso
- Version del proceso
- Identidad de Windows
- Nombre del robot
Cuando se diagnostica un proceso en producción los mensajes de registro ayudan, pero hay que tener en cuenta que una saturación de logs es contraproducente. La solución es definirlos de manera correcta en lugares estratégicos del flujo.