Snowflake Scripting에서 메시지 로깅하기

Snowflake SYSTEM$LOG, SYSTEM$LOG_<수준>(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');
Copy