Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Resumen
En este artículo se describen los enfoques de depuración alternativos para las aplicaciones de lienzo de Microsoft Power Apps en escenarios que no admiten el monitor en directo. Use estas técnicas para formularios integrados de SharePoint, páginas personalizadas o incrustaciones de portal personalizados en las que no se puede abrir el monitor en directo junto con la aplicación.
El monitor en vivo es la herramienta recomendada para depurar aplicaciones de lienzo porque muestra eventos en tiempo real y funciona junto con la función Trace. Sin embargo, algunos escenarios hospedados o incrustados no lo admiten. En este artículo se tratan alternativas como Application Insights, tablas de registro de Dataverse , registro de listas de SharePoint y paneles de diagnóstico en pantalla.
Nota:
Para los escenarios en los que se admite y está disponible el Monitor en Directo, consulte Depuración de aplicaciones de lienzo con Monitor en Directo y Seguimiento.
Enfoques de depuración alternativos
Si el monitor en vivo no está disponible, elija uno de los siguientes métodos de depuración alternativos en función del entorno y las necesidades.
| Alternativa | Más adecuado para | Notas |
|---|---|---|
| Application Insights | Telemetría centralizada y supervisión del rendimiento | Requiere la configuración de Azure. Emite seguimientos y métricas fuera de Power Apps. |
| Tabla de registro de Dataverse | Diagnósticos ad hoc y seguimientos de auditoría | Cree una tabla personalizada. Use lógica protegida para escribir registros al depurar. |
| Registro de listas de SharePoint | Entornos ligeros sin Dataverse | Use Collect o Patch (en una lista). Para controlar el tamaño, recorte las entradas. |
| Panel de diagnóstico en pantalla | Comentarios inmediatos durante las pruebas | Solo para audiencias seguras. Quitar antes de un despliegue amplio. |
Integración de Application Insights
Application Insights proporciona telemetría centralizada para aplicaciones de lienzo. Captura métricas de rendimiento, errores y seguimientos personalizados en Azure Monitor, donde puede analizar datos entre sesiones y usuarios.
Este enfoque requiere:
- Una suscripción de Azure
- Un recurso de Application Insights
- Configuración en la configuración de la aplicación Power Apps
Para obtener instrucciones de configuración, consulte Análisis de la telemetría de aplicaciones mediante Application Insights.
Escribir registros de depuración en Dataverse
Para capturar información de diagnóstico si el entorno incluye Dataverse, cree una tabla personalizada Debug Logs . Este enfoque funciona bien para la solución de problemas ad hoc y los seguimientos de auditoría.
Crear la tabla de registros de depuración
- En Power Apps, vaya a Tablas y cree una nueva tabla denominada
Debug Logs. - Agregue las columnas siguientes:
-
Title: una etiqueta para la entrada de registro. -
UserEmail: la dirección de correo electrónico del usuario. -
Timestamp: cuando se produjo el evento -
Payload: datos adicionales en formato JSON - Otras columnas según sea necesario para el escenario (por ejemplo,
CartCount,ScreenName)
-
Ejemplo: Escritura de un registro de depuración en Dataverse
Use una llamada de parche protegida para escribir registros solo si existe un parámetro de cadena de consulta de depuración.
If(Param("debug") = "true",
Patch(
'Debug Logs',
Defaults('Debug Logs'),
{
Title: "BeforeSubmit",
UserEmail: User().Email,
CartCount: CountRows(colCart),
Timestamp: Now(),
Payload: JSON({customerId: ddCustomer.Selected.Id})
}
)
);
Ejecuta la aplicación en modo de depuración
Para habilitar el registro de depuración, agregue &debug=true a la dirección URL de la aplicación. Para obtener más información sobre los parámetros de cadena de consulta, vea Launch and Param functions.
Después de reproducir el problema, abra la Debug Logs tabla de Dataverse para revisar los registros capturados.
Nota:
Quite o deshabilite el registro de depuración antes de implementar la aplicación de forma general. Para administrar el almacenamiento, elimine periódicamente las entradas de registro antiguas.
Escribir registros de depuración en SharePoint
Para entornos ligeros sin Dataverse, use una lista de SharePoint para capturar información de depuración.
Creación de la lista de depuración
- En SharePoint, cree una lista denominada
AppDebugLogs. - Agregue las columnas siguientes:
-
Title: una etiqueta para la entrada de registro. -
UserEmail: la dirección de correo electrónico del usuario. -
Timestamp: cuando se produjo el evento -
Payload: datos adicionales en formato JSON - Otras columnas según lo requiera su escenario.
-
Ejemplo: Escribir un registro de depuración en SharePoint
If(Param("debug") = "true",
Patch(
AppDebugLogs,
Defaults(AppDebugLogs),
{
Title: "BeforeSubmit",
UserEmail: User().Email,
Timestamp: Now(),
Payload: JSON({customerId: ddCustomer.Selected.Id, cartCount: CountRows(colCart)})
}
)
);
Nota:
Las listas de SharePoint tienen límites de almacenamiento. Para evitar que la lista crezca demasiado grande, quite regularmente las entradas antiguas.
Creación de un panel de diagnóstico en pantalla
Para obtener comentarios inmediatos durante las pruebas, cree un panel de diagnóstico que muestre información de depuración directamente en la aplicación. Este enfoque es útil si tiene que ver valores en tiempo real.
Recopilación de datos de depuración
En lugar de usar Trace, agregue datos a una colección local. Por ejemplo:
If(
Param("debug") = "true",
Collect(
debugTraces,
{
Timestamp: Now(),
Data: $"Before submit for {User().Email} with {CountRows(colCart)} items in the cart"
}
)
)
Agregar un control de texto para mostrar las trazas
Agregue un control de texto a la pantalla que muestre los rastros recopilados. Establezca la propiedad Visible del control de texto para que el control aparezca solo en modo de depuración.
Propiedades de control
| Propiedad | Importancia |
|---|---|
| Text | Concat(debugTraces, $"[{Text(Timestamp, "hh:mm:ss.fff")}] {Data}", Char(10)) |
| Visible | Param("debug") = "true" |
| Height | 200 |
| Ancho | 300 |
| X | Parent.Width - 320 |
| Y | 20 |
Esta configuración muestra una lista desplazable de mensajes de depuración que puede copiar y analizar fuera de la aplicación.
Ejemplo de YAML como control de texto
Si usa la vista YAML de Power Apps Studio:
- TextDebugPanel:
Control: [email protected]
Properties:
Height: =200
Size: =12
Text: |-
=Concat(
debugTraces,
$"[{Text(Timestamp,"hh:mm:ss.fff")}] {Data}",
Char(10))
Visible: =Param("debug") = "true"
Width: =300
X: =Parent.Width - 320
Y: =20
Importante
Quite u oculte el panel de diagnóstico antes de implementar la aplicación en los usuarios. Los usuarios que abren la aplicación mediante el parámetro de depuración no deben ver información de diagnóstico interna.
Procedimientos recomendados para la depuración alternativa
Si usa un enfoque de depuración alternativo, siga estas instrucciones:
-
Controles de depuración de guardia: Use parámetros de cadena de consulta (
Param("debug") = "true") o comprobaciones de roles para mostrar funciones de depuración únicamente durante las pruebas. - Limpiar antes de la implementación: quite controles de depuración, llamadas de registro y paneles de diagnóstico antes de ejecutar una implementación amplia.
- Administrar el almacenamiento de registros: para administrar el almacenamiento para el registro de Dataverse o SharePoint, elimine periódicamente entradas antiguas.
- Usar etiquetas significativas: para facilitar el análisis de los registros, incluya títulos descriptivos como "BeforeSubmit" o "OnVisible_OrderScreen".
- Incluir contexto: registre el correo electrónico del usuario, el nombre de pantalla y los valores de datos pertinentes para que pueda correlacionar las entradas entre sesiones.