Protokollierung von Meldungen in Snowflake Scripting

Sie können Meldungen von einem in Snowflake Scripting geschriebenen Funktions- oder Prozedur-Handler protokollieren, indem Sie die Snowflake-Funktion SYSTEM$LOG, SYSTEM$LOG_<level> (für Snowflake Scripting) verwenden. Wenn Sie eine Ereignistabelle zum Speichern von Protokolleinträgen eingerichtet haben, speichert Snowflake die von Ihrem Handler-Code generierten Protokolleinträge in dieser Tabelle.

Stellen Sie vor dem Starten der Protokollierung sicher, dass der Protokolliergrad so eingestellt ist, dass die gewünschten Meldungen in der Ereignistabelle gespeichert werden. Weitere Informationen dazu finden Sie unter Einstellen des Protokolliergrads.

Bemerkung

Bevor Sie mit der Protokollierung von Meldungen beginnen können, müssen Sie eine Ereignistabelle einrichten. Weitere Informationen dazu finden Sie unter Einrichten einer Ereignistabelle.

Sie können auf die Protokollmeldungen zugreifen, indem Sie einen SELECT-Befehl auf der Ereignistabelle ausführen. Weitere Informationen dazu finden Sie unter Zugriff auf protokollierte Meldungsdaten.

Allgemeine Informationen zum Einrichten der Protokollierung und zum Abrufen von Meldungen in Snowflake finden Sie unter Protokollierung von Meldungen aus Funktionen und Prozeduren.

Snowflake Scripting-Beispiel

Der Code im folgenden Beispiel verwendet die SYSTEM$LOG-Funktion, um Meldungen auf jeder der unterstützten Ebenen zu protokollieren. Beachten Sie, dass eine Meldung, die von Code protokolliert wird, der eine Eingabezeile verarbeitet, für jede Zeile protokolliert wird, die von dem Handler verarbeitet wird. Wenn der Handler auf einer großen Tabelle ausgeführt wird, kann dies zu einer großen Anzahl von Meldungen in der Ereignistabelle führen.

-- The following calls are equivalent.
-- Both log information-level messages.
SYSTEM$LOG('info', 'Information-level message');
SYSTEM$LOG_INFO('Information-level message');

-- The following calls are equivalent.
-- Both log error messages.
SYSTEM$LOG('error', 'Error message');
SYSTEM$LOG_ERROR('Error message');


-- The following calls are equivalent.
-- Both log warning messages.
SYSTEM$LOG('warning', 'Warning message');
SYSTEM$LOG_WARN('Warning message');

-- The following calls are equivalent.
-- Both log debug messages.
SYSTEM$LOG('debug', 'Debug message');
SYSTEM$LOG_DEBUG('Debug message');

-- The following calls are equivalent.
-- Both log trace messages.
SYSTEM$LOG('trace', 'Trace message');
SYSTEM$LOG_TRACE('Trace message');

-- The following calls are equivalent.
-- Both log fatal messages.
SYSTEM$LOG('fatal', 'Fatal message');
SYSTEM$LOG_FATAL('Fatal message');
Copy