Registro de mensagens no Script Snowflake

É 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 Configuração do nível de registro.

Nota

Antes de começar a registrar mensagens, é necessário configurar uma tabela de eventos. Para obter mais informações, consulte Configuração de uma tabela de eventos.

Você pode acessar as mensagens de log executando um comando SELECT na tabela de eventos. Para obter mais informações, consulte Acesso a dados de mensagens registradas.

Para obter informações gerais sobre a configuração de registro e recuperação de mensagens no Snowflake, consulte Registro de mensagens de funções e procedimentos.

Exemplo de Script Snowflake

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');
Copy