Protokollierung und Ereignisfreigabe für eine Anwendung einrichten¶
Unter diesem Thema wird beschrieben, wie Sie die Protokollierung und die Ereignisfreigabe zur Fehlersuche in einer installierten Anwendung einrichten.
Die unter diesem Thema bereitgestellten Informationen zeigen das Einrichten von Protokollierung und Ereignisfreigabe für Anbieter. Informationen zu den Anforderungen an Verbraucher beim Konfigurieren dieses Features finden Sie unter Aktivieren von Protokollierung und Ereignisfreigabe für eine Anwendung.
Mithilfe der Protokollierung und von Ablaufverfolgungsereignissen können Sie Informationen über eine Anwendung sammeln, um Fehler und Probleme zu beheben. Durch die Verwendung der Protokollierung und von Ablaufverfolgungsereignissen können Sie sich auch ein besseres Bild davon machen, wie Ihre Anwendung ausgeführt wird, und sie dann optimieren.
Workflow zum Einrichten von Protokollierung und Ereignisfreigabe als Anbieter¶
Als Anbieter können Sie die Protokollierung und Ereignisfreigabe für eine Anwendung einrichten, indem Sie Folgendes tun:
Überprüfen der Hinweise zur Verwendung von Protokollierung und Ereignisfreigabe
Legen Sie die Ablaufverfolgungsebene und den Protokolliergrad in der Manifest-Datei fest.
Konfigurieren Sie ein Konto zum Speichern der freigegebenen Ereignisse.
Nachdem der Verbraucher eine Anwendung installiert und die Protokollierung und Ereignisfreigabe aktiviert hat, können Sie die von der installierten Anwendung freigegebenen Protokoll- und Ereignisinformationen anzeigen:
Hinweise zur Verwendung von Protokollierung und Ereignisfreigabe¶
Bevor Sie die Protokollierung und Ereignisfreigabe bei einer Anwendung verwenden, müssen Sie Folgendes beachten:
Sie sind für alle Kosten verantwortlich, die auf Seiten des Anbieters mit der Ereignisfreigabe verbunden sind, einschließlich Datenerfassung und Datenspeicherung.
Sie müssen über ein Konto zum Speichern der freigegebenen Ereignisse in jeder Region verfügen, in der Sie die Ereignisfreigabe unterstützen möchten.
Sie müssen für eine Anwendung Standardwerte für Protokolliergrad und Ablaufverfolgungsebene in der Manifest-Datei festlegen.
Protokollierung und Ablaufverfolgungsereignisse in Funktionen und Prozeduren konfigurieren¶
Das Native Apps Framework benötigt eine Ereignistabelle zum Speichern der Protokollmeldungen und Ablaufverfolgungsereignisse, die von Funktionen und gespeicherten Prozeduren in einer Anwendung generiert werden.
Bemerkung
Wenn der Verbraucher Ihrer Anwendung keine Ereignistabelle einrichtet und diese Tabelle nicht zur aktiven Tabelle macht, bevor die Anwendung installiert wird, werden Ereignis- und Protokolldaten verworfen.
Ein Konto kann mehrere Ereignistabellen haben, aber es kann immer nur eine davon als aktive Ereignistabelle für ein Snowflake-Konto festgelegt sein. Ohne eine aktive Ereignistabelle werden die von der Anwendung generierten Protokollmeldungen und Ablaufverfolgungsereignisse nicht erfasst. Dies gilt auch dann, wenn die Funktionen und Prozeduren in einer Anwendung die APIs für Protokollierung und Ablaufverfolgungsereignisse aufrufen.
Zum Erstellen einer Ereignistabelle verwenden Sie den Befehl CREATE EVENT TABLE. Weitere Informationen dazu finden Sie unter Einrichten einer Ereignistabelle.
Nachdem durch den Code Protokollmeldungen und Ablaufverfolgungsereignisse erfasst wurden, können Sie die erfassten Daten abfragen.
Weitere Informationen zum Erfassen und Abfragen von Protokoll- und Ablaufverfolgungsdaten finden Sie unter:
Ablaufverfolgungsebene und Protokolliergrad in der Manifest-Datei festlegen¶
Um für die Version einer Anwendung die Standardwerte für Protokolliergrad und Ablaufverfolgungsereignis-Ebene festzulegen, legen Sie die Parameter log_level
und trace_level
in der Manifest-Datei wie im folgenden Beispiel fest:
artifacts:
setup_script: setup.sql
configuration:
trace_level: OFF
log_level: DEBUG
Wenn ein Anbieter die Ablaufverfolgung aktiviert, erfasst eine Snowflake Native App automatisch die Start- und Endzeiten für alle Abfragen und Aufrufe gespeicherter Prozeduren.
Bemerkung
Das Veröffentlichen einer Snowflake Native App mit der Eigenschaft trace_level
, die auf einen anderen Wert als OFF
eingestellt ist, könnte jedem Benutzer im Verbraucherkonto, der die Ereignistabelle einsehen kann, Aufrufe zu verborgenen gespeicherten Prozeduren offenlegen.
Siehe Einstellen des Protokolliergrads (Ablaufverfolgungsebene) und Einstellen des Protokolliergrads für weitere Informationen zu den unterstützten Werten für trace_level
und log_level
.
Bei der Erstinstallation der Snowflake Native App werden die in der Manifest-Datei definierten Protokolliergrade verwendet. Wenn der Protokolliergrad bei einem späteren Upgrade geändert wird, tritt der neue Protokolliergrad in Kraft, sobald der Upgrade-Prozess abgeschlossen ist.
Protokolliergrad und Ablaufverfolgungsebene können nur in der Manifest-Datei festgelegt werden. Der Verbraucher ist nicht berechtigt, den Protokolliergrad mit den Befehlen ALTER APPLICATION oder ALTER DATABASE zu ändern.
Ebenso werden alle Einstellungen auf Sitzungsebene für den Protokolliergrad von der Anwendung ignoriert.
In einem Anwendungspaket definierte Werte für Protokolliergrad und Ablaufverfolgungsereignis-Ebene anzeigen¶
Verwenden Sie den Befehl DESCRIBE APPLICATION, um den Protokolliergrad einer installierten Anwendung anzuzeigen, wie im folgenden Befehl gezeigt:
DESC APPLICATION HelloSnowflake;
Verwenden Sie den Befehl SHOW VERSIONS, um den Protokolliergrad der in einem Anwendungspaket definierten Anwendungsversionen anzuzeigen, wie im folgenden Beispiel gezeigt:
SHOW VERSIONS
IN APPLICATION PACKAGE HelloSnowflake;
In Ereignistabelle gespeicherte Protokolleinträge und Ereignisse anzeigen¶
Um die in der Ereignistabelle gespeicherten Protokolleinträge und Ereignisse anzuzeigen, verwenden Sie den Befehl SELECT wie im folgenden Beispiel gezeigt:
SELECT * FROM EVENT_DB.EVENT_SCHEMA.MY_EVENT_TABLE