Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Verwenden Sie die Ablaufverfolgung zur Problembehandlung bei einem Plug-In oder einer benutzerdefinierten Workflowaktivität (benutzerdefinierter Code). Mithilfe der Ablaufverfolgung können Entwickler Laufzeitinformationen aufzeichnen, die bei der Diagnose der Ursache von Codefehlern helfen. Tracing unterstützt die synchrone und asynchrone Ausführung.
Ein Dienst namens ITracingService zeichnet Laufzeitablaufverfolgungsdaten für Microsoft Dataverse auf. Benutzerdefinierter Code kann Informationen für diesen Dienst bereitstellen, die an drei verschiedenen Stellen aufgezeichnet werden können:
Ablaufprotokoll
Das System schreibt Nachverfolgungsprotokolleinträge in die PluginTraceLog-Tabelle. Die unter "Ablaufverfolgungsprotokollierung aktivieren" erwähnten Ablaufverfolgungseinstellungen steuern das Schreiben dieser Datensätze.
Sie finden diese Daten in modellgesteuerten Anwendungen, indem Sie zu "Einstellungen" navigieren und die Kachel "Plug-In-Ablaufverfolgungsprotokoll " auswählen. Die Kachel ist nur sichtbar, wenn Ihre zugewiesene Sicherheitsrolle den Zugriff auf die Datensätze der Traceprotokolltabelle erlaubt.
Möglicherweise können Sie diese Daten einfacher anzeigen, indem Sie die Web-API in Ihrem Browser verwenden, wie im Beispiel unter Ablaufverfolgung verwenden gezeigt, oder indem Sie das Communitytool Plugin Trace Viewer verwenden.
Wichtig
Die Ablaufverfolgungsprotokollierung nimmt Speicherplatz in der Organisation in Anspruch, insbesondere, wenn viele Ablaufverfolgungen und Ausnahmen generiert werden. Aktivieren Sie die Ablaufverfolgungsprotokollierung nur für das Debuggen und die Problembehandlung, und deaktivieren Sie sie, wenn Sie fertig sind.
Fehlerdialogfeld
Eine synchrone registrierte Plug-In- oder benutzerdefinierte Workflowaktivität, die eine Ausnahme von der Plattform zurückgibt, führt zu einem Fehlerdialogfeld in der Webanwendung, das dem angemeldeten Benutzer angezeigt wird. Der Benutzer kann im Dialogfeld auf die Schaltfläche Protokolldatei herunterladen klicken, um das Protokoll mit Ausnahme- und Trace-Ausgaben anzuzeigen.
Systemauftrag
Bei asynchron registrierten Plug-In- oder benutzerdefinierten Workflowaktivitäten, die eine Ausnahme zurückgeben, werden die Ablaufverfolgungsinformationen im Detailbereich des Formulars "Systemauftrag " in der Webanwendung angezeigt.
Ablaufverfolgungsprotokollierung aktivieren
Ob Trace-Logs geschrieben werden, hängt vom Wert der Organisation Tabelle PluginTraceLogSetting Spalte ab. Sie können die Ablaufverfolgungsprotokollierung aktivieren, indem Sie programmgesteuert den PluginTraceLogSetting-Wert aktualisieren.
Eine zweite Methode zur Aktivierung der Ablaufverfolgungsprotokollierung erfolgt über die Legacy-Webanwendung. Gehen Sie zu Einstellungen>Verwaltung>Systemeinstellungen. Suchen Sie auf der Registerkarte Anpassung das Dropdown-Menü mit der Bezeichnung Protokollierung im Plug-In-Ablaufverfolgungsprotokoll aktivieren und wählen Sie eine der verfügbaren Optionen aus. Weitere Informationen finden Sie unter "Einstellungen" in Unified Interface-Apps und -Einstellungen in älteren Webclient-Apps.
Eine dritte Option finden Sie im Plug-In-Registrierungstool. Nachdem Sie das Tool mit Ihrer Organisation (Umgebung) verbunden haben, wählen Sie Einstellungen>Protokollierung im Plug-In-Ablaufverfolgungsprotokoll und wählen Sie dann eine der verfügbaren Optionen aus.
| Wert | Option | Beschreibung |
|---|---|---|
| 0 | Deaktiviert | Das Schreiben in das Traceprotokoll ist deaktiviert. Es werden keine PluginTraceLog-Datensätze erstellt. Allerdings kann benutzerdefinierter Code weiter die Trace(String, Object[])-Methode aufrufen, auch wenn noch kein Protokoll geschrieben wurde. |
| 1 | Ausnahmen | Informationen zur Ablaufverfolgung werden in das Protokoll geschrieben, wenn eine Ausnahme aus benutzerdefiniertem Code an die Plattform zurückgegeben wird. |
| 2 | Alle | Ablaufverfolgungsinformationen werden bei Abschluss der Codeausführung in das Protokoll geschrieben oder wenn eine Ausnahme vom benutzerdefinierten Code an die Plattform zurückgegeben wird. |
Wenn die Ablaufverfolgungsprotokollierungs-Einstellung auf Ausnahme gesetzt ist und benutzerdefinierter Code eine Ausnahme wieder zur Plattform zurückgibt, wird ein Ablaufverfolgungsprotokolldatensatz erstellt und Ablaufverfolgungsinformationen werden zudem an einen anderen Ort geschrieben. Bei benutzerdefiniertem Code, der synchron ausgeführt wird, werden die Informationen in einem Fehlerdialogfeld dem Benutzer angezeigt; andernfalls, für asynchronen Code, werden die Informationen in den verknüpften Systemauftrag geschrieben.
In den Ablaufverfolgungsdienst schreiben
Bevor Sie an den Ablaufverfolgungsdienst schreiben, müssen Sie zunächst das Objekt des Ablaufverfolgungsdiensts aus dem übergebenen Ausführungskontext abrufen. Fügen Sie anschließend an den entsprechenden Stellen Trace(String, Object[])-Aufrufe in Ihrem benutzerdefinierten Code hinzu und übergeben Sie dabei im Methodenaufruf alle relevanten Diagnoseinformationen.
//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.");
Entwickeln Sie anschließend das Plug-In oder die benutzerdefinierte Workflowaktion und stellen Sie diese(s) bereit. Während der Ausführung des angepassten Codes werden die in den Trace-Methodenaufrufen bereitgestellten Informationen in einen Datensatz der Trace-Log-Tabelle von ITracingService geschrieben, wenn dies von Ihrer Organisation unterstützt wird und aktiviert ist, und könnten dem Benutzer auch in einem Web-Dialog oder System-Job zur Verfügung gestellt werden, wie im vorherigen Abschnitt beschrieben. Die Ablaufverfolgungsinformationen, die in das Ablaufverfolgungsprotokoll geschrieben werden, werden in den Ablaufverfolgungseinstellungen konfiguriert. Weitere Informationen unter Trace-Logging aktivieren.
Anmerkung
Wenn Ihr angepasster Code innerhalb einer Datenbanktransaktion ausgeführt wird und eine Ausnahme auftritt, die einen Transaktions-Rollback verursacht, werden alle Tabellendatenänderungen durch Ihren Code rückgängig gemacht. Die PluginTraceLog-Einträge bleiben jedoch nach Abschluss des Rollbacks bestehen.
Zusätzliche Informationen über den Tracing-Dienst
Die ITracingService bündelt die Informationen, die sie über die Methode Trace empfängt. Sie schreibt die Informationen in einen neuen PluginTraceLog-Eintrag , nachdem der benutzerdefinierte Code erfolgreich ausgeführt wurde oder eine Ausnahme auslöst.
Jeder Trace-Aufruf wird als eine neue Zeile in der Spalte PluginTraceLogMessageBlock protokolliert. Sie können nur 10 KB Text schreiben. Um diesen Grenzwert zu erreichen, entfernt das System ältere Ablaufverfolgungslinien, sodass nur die letzten Zeilen gespeichert werden.
PluginTraceLog-Datensätze haben eine begrenzte Gültigkeitsdauer. Ein Massenlöschungs-Hintergrundauftrag wird einmal täglich ausgeführt, um Datensätze zu löschen, die älter als 24 Stunden seit der Erstellung sind. Um ein übermäßiges Datenbankwachstum zu verhindern, kann Microsoft die Protokollierung im Plug-In-Ablaufverfolgungsprotokoll deaktivieren, wenn die Tabelle plugintracelogbase 100 GB überschreitet.
Vorsicht
Sie können diesen Auftrag zwar deaktivieren oder die Häufigkeit anpassen, mit der er auftritt, aber wenn Sie ihn nicht auf die ursprüngliche Einstellung zurücksetzen, kann dies zu Leistungsproblemen führen.
Community-Werkzeuge
Plugin-Trace-Viewer
Plugin Trace Viewer ist ein Tool, das die XrmToolBox-Community entwickelt hat. Informationen zu von der Community entwickelten Tools finden Sie im Artikel "Community tools for Dataverse ".
Anmerkung
Microsoft bietet keine Unterstützung für Communitytools. Wenn Sie Fragen zum Tool haben, wenden Sie sich an den Herausgeber. Weitere Informationen finden Sie unter XrmToolBox.
Siehe auch
Plug-Ins
Debuggen Sie ein Plug-In
Trace-Protokolle anzeigen
Ablaufverfolgungsdienst
PluginTraceLog-Tabelle