Snowflake Scripting 中的日志记录消息¶
您可以使用 Snowflake SYSTEM$LOG、SYSTEM$LOG_<level> (适用于 Snowflake Scripting) 函数,通过使用 Snowflake Scripting 编写的函数或过程处理程序记录消息。当您设置事件表来存储日志条目时,Snowflake 会将处理程序代码生成的日志条目存储在表中。
通过代码记录前,请确保您设置了日志记录级别,以便将所需的消息存储在事件表中。有关更多信息,请参阅 设置日志级别。
备注
在开始记录消息之前,必须设置事件表。有关更多信息,请参阅 设置事件表。
您可以通过对事件表执行 SELECT 命令,来访问日志消息。有关更多信息,请参阅 访问已记录消息的数据。
有关在 Snowflake 中设置日志记录和检索消息的一般信息,请参阅 来自函数和过程的日志记录消息。
Snowflake Scripting 示例¶
以下示例中的代码使用 SYSTEM$LOG 函数在每个受支持级别记录消息。请注意,系统将针对处理程序处理的*每一行*记录通过处理输入行的代码记录的消息。如果在大型表中执行处理程序,则可能会导致事件表中出现大量消息。
-- 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');