Registro y seguimiento

Nota

¿No está seguro de entidad frente a tabla? Vea Desarrolladores: comprender la terminología en Microsoft Dataverse.

Use seguimiento para solucionar problemas de una actividad de flujo de trabajo personalizada o de un complemento (código personalizado). El seguimiento ayuda a los desarrolladores registrando información en tiempo de ejecución como ayuda en el diagnóstico de la causa de los errores del código. El seguimiento es compatible con la ejecución síncrona o asincrónica.

El registro de información de seguimiento en tiempo de ejecución para Microsoft Dataverse se consigue mediante un servicio llamado ITracingService. La información proporcionada a este servicio por el código personalizado se puede registrar en tres distintas secciones que se identifican aquí.

  • Registro de seguimiento

    Los registros de seguimiento se escriben en la Tabla PluginTraceLog. La escritura de estos registros se controla mediante la configuración de seguimiento mencionada en Habilitar registro de seguimiento.

    Estos datos se pueden encontrar en aplicaciones basadas en modelos navegando a Configuración y eligiendo la ventana Registro de seguimiento de complementos. La ventana solo es visible si tiene acceso a los registros de la tabla de registro de seguimiento en su rol de seguridad asignado.

    Es posible que le resulte más fácil ver estos datos mediante API web en el explorador utilizando el ejemplo mostrado en Utilizar seguimiento o utilizando la herramienta de la comunidad Visor de seguimiento de complementos.

    Importante

    El registro de seguimiento ocupa espacio de almacenamiento de la organización, especialmente cuando se generan muchos seguimientos y excepciones. Solo debe activar el registro de seguimiento para depurar y solucionar problemas, y desactivarla después de que la investigación esté completa.

  • Diálogo de errores

    Un complemento registrado sincrónico o una actividad de flujo de trabajo personalizada que devuelve una excepción de la plataforma produce un cuadro de diálogo de error en la aplicación web que se muestran al usuario que ha iniciado sesión. El usuario puede seleccionar el botón Descargar archivo de registro en el cuadro de diálogo para ver el registro que contiene la excepción y la salida de seguimiento.

  • Trabajo del sistema

    Para un complemento registrado asincrónico o actividades de flujo de trabajo personalizadas que devuelven una excepción, la información de seguimiento aparece en el área Detalles del formulario Trabajo del sistema en la aplicación web.

Habilitar registro de seguimiento

El que los registros de seguimiento se escriban depende del valor del valor de la columna PluginTraceLogSetting de la tabla Organization.

Para habilitar el registro de seguimiento puede actualizar mediante programación este valor o en la aplicación web ir a Configuración > Administración > Configuración del sistema. En la pestaña Personalización, busque el menú desplegable con la etiqueta Habilitar registro para registro de seguimientos de complemento y seleccione una de las opciones disponibles.

Value Opción Descripción
0 Desactivado La escritura en el registro de seguimiento está deshabilitada. No se creará ningún registro de PluginTraceLog. Sin embargo, el código personalizado puede seguir llamando al método Trace(String, Object[]) aunque no se escriba ningún registro.
1 Excepciones La información de seguimiento se escribe en el registro si se pasa una excepción a la plataforma desde código personalizado.
2 Todo La información de seguimiento se escribe en el registro cuando se completa el código o se pasa una excepción a la plataforma desde el código personalizado.

Si el valor del registro de seguimiento se establece en Excepción y el código personalizado devuelve una excepción a la plataforma, se crea un registro de seguimiento y también se escribe información de seguimiento en otra ubicación. Para código personalizado que se ejecuta forma sincrónica, la información se muestra al usuario en un cuadro de diálogo de errores, de lo contrario, para código asincrónico, la información se escribe en el trabajo del sistema relacionado.

Escriba en el servicio de seguimiento.

Antes de escribir en el servicio de seguimiento, primero debe extraer el objeto de servicio de seguimiento del contexto de ejecución pasado. A continuación, agregue simplemente llamadas Trace(String, Object[]) a su código personalizado donde corresponda pasando la información relevante de diagnóstico en esa llamada al método.

//Extract the tracing service for use in debugging plug-ins.
ITracingService tracingService =
    (ITracingService)serviceProvider.GetService(typeof(ITracingService));

// Use the tracing service 
tracingService.Trace("Write your message here.");

A continuación, genere e implemente el complemento o actividad de flujo de trabajo personalizada. Durante la ejecución del código personalizado, la información proporcionada en las llamadas al método Trazar la escribe ITracingService en un registro de tabla del registro de seguimiento, si lo admite la organización y está habilitado, y también se puede poner a disposición del usuario en un diálogo web o un trabajo del sistema como se describe en la sección anterior. La información de seguimiento escrita en el registro de seguimiento está configurada en los valores de seguimiento. Para obtener más información, consulte Habilitar el registro de seguimiento.

Nota

Si el código personalizado se ejecuta en una transacción de la base de datos y se produce una excepción que provoca una reversión de la transacción, todos los cambios en los datos de la tabla realizados por el código se desharán. Sin embargo, los registros PluginTraceLog se mantendrán después de que la reversión se complete.

Información adicional sobre el servicio de seguimiento.

El ITracingService trata por lotes la información que se le proporciona con el método Seguimiento. La información se escribe en un nuevo registro PluginTraceLog después de que el código personalizado se ejecuta correctamente hasta completarse o genera una excepción.

Cada llamada Trace se registra como una nueva línea en la columna PluginTraceLog MessageBlock. Solo 10 kb de texto se pueden escribir. Se quitarán las líneas de traza para cumplir este límite de modo que solo las líneas más recientes se guardarán.

Los registros PluginTraceLog tienen una duración finita. Un trabajo en segundo plano de eliminación en masa se ejecuta una vez al día para eliminar los registros que tienen más de 24 horas desde su creación.

Precaución

Mientras este trabajo se puede deshabilitar o la frecuencia con la que aparece puede ser ajustada, si no se restablece el valor original con frecuencia es la causa de problemas de rendimiento más adelante.

Herramientas de la Comunidad

Visor de seguimiento de complementos

Visor de seguimiento de complementos es una herramienta desarrollada por la comunidad XrmToolbox. Consulte el tema Herramientas de la comunidad para Dataverse para obtener información sobre herramientas desarrolladas por la comunidad.

Nota

Las herramientas de la comunidad no son un producto de Microsoft y no se incluyen en el soporte técnico. Si tiene alguna duda relacionada con la herramienta, póngase en contacto con el Editor. Más información: XrmToolBox.

Vea también

Complementos
Depurar un complemento
Ver registros de seguimiento
Utilizar el servicio de seguimiento.
Tabla PluginTraceLog

Nota

¿Puede indicarnos sus preferencias de idioma de documentación? Realice una breve encuesta. (tenga en cuenta que esta encuesta está en inglés)

La encuesta durará unos siete minutos. No se recopilan datos personales (declaración de privacidad).