Registro de mensagens no Snowflake Scripting¶
É possível registrar mensagens de um manipulador de função ou procedimento escrito no Script Snowflake usando a função SYSTEM$LOG, SYSTEM$LOG_<nível> (para Script Snowflake) do Snowflake. Quando você configura uma tabela de eventos para armazenar entradas de log, o Snowflake armazena na tabela as entradas de log geradas pelo seu código do manipulador.
Antes de fazer o registro a partir do código, certifique-se de que o nível de registro em log esteja definido para que as mensagens desejadas sejam armazenadas na tabela de eventos. Para obter mais informações, consulte Definição de níveis para registro, métricas e rastreamento.
Nota
Antes de começar a registrar mensagens, é necessário configurar uma tabela de eventos. Para obter mais informações, consulte Visão geral da tabela de evento.
Você pode acessar as mensagens de log executando um comando SELECT na tabela de eventos. Para obter mais informações, consulte Visualização de mensagens de log.
Para obter informações gerais sobre como configurar o registro e recuperar mensagens no Snowflake, consulte Registro de mensagens de funções e procedimentos.
Exemplo de Snowflake Scripting¶
O código no exemplo a seguir usa a função SYSTEM$LOG para registrar mensagens em cada um dos níveis suportados. Observe que uma mensagem registrada a partir do código que processa uma linha de entrada será registrada para cada linha processada pelo manipulador. Se o manipulador for executado em uma tabela grande, isso poderá resultar em um grande número de mensagens na tabela de eventos.
-- 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');