애플리케이션에 대한 로깅 및 이벤트 공유 설정하기¶
이 항목에서는 로깅 및 이벤트 공유를 설정하여 설치된 애플리케이션 문제를 해결하는 방법을 설명합니다.
이 항목에서는 로깅 및 이벤트 공유를 공급자로 설정하는 방법에 대한 정보를 제공합니다. 이 기능을 구성하기 위한 컨슈머 요구 사항은 애플리케이션에 대한 로깅 및 이벤트 공유 활성화하기 를 참조하십시오.
로깅 및 추적 이벤트를 사용하면 애플리케이션에 대한 정보를 수집하여 오류를 해결할 수 있습니다. 로깅 및 추적 이벤트를 사용하면 애플리케이션의 실행 방식을 더 잘 파악하고 나중에 애플리케이션을 개선할 수도 있습니다.
로깅 및 이벤트 공유를 공급자로 설정하기 위한 워크플로¶
공급자는 다음을 수행하여 애플리케이션에 대한 로깅 및 이벤트 공유를 설정할 수 있습니다.
컨슈머가 애플리케이션을 설치하고 로깅 및 이벤트 공유를 활성화하면 설치된 애플리케이션에서 공유하는 로깅 및 이벤트 정보를 볼 수 있습니다.
로깅 및 이벤트 공유 사용 시 고려 사항¶
애플리케이션에 로깅 및 이벤트 공유를 사용하기 전에 다음 사항을 고려해야 합니다.
데이터 수집 및 저장을 포함하여 공급자 측의 이벤트 공유와 관련된 모든 비용은 귀하의 책임입니다.
이벤트 공유를 지원하려는 각 리전에 공유 이벤트를 저장할 계정 이 있어야 합니다.
매니페스트 파일에서 애플리케이션의 기본 로그 수준 및 추적 수준을 정의해야 합니다.
함수 및 프로시저에서 로깅 및 추적 이벤트 구성하기¶
Native Apps Framework에서는 애플리케이션의 함수 및 저장 프로시저에서 생성된 로그 메시지와 추적 이벤트를 저장하는 이벤트 테이블이 필요합니다.
참고
애플리케이션 컨슈머가 이벤트 테이블을 설정하지 않고 애플리케이션을 설치하기 전에 활성 테이블로 만들면 이벤트 및 로깅 데이터가 삭제됩니다.
한 계정에 여러 이벤트 테이블이 있을 수 있지만, 한 번에 그중 하나만 Snowflake 계정의 활성 이벤트 테이블로 설정할 수 있습니다. 활성 이벤트 테이블이 없으면 애플리케이션에서 생성된 로그 메시지와 추적 이벤트가 캡처되지 않습니다. 이는 애플리케이션의 함수와 프로시저가 로깅 및 추적 이벤트 API를 호출하는 경우에도 마찬가지입니다.
이벤트 테이블을 생성하려면 CREATE EVENT TABLE 명령을 사용하십시오. 자세한 내용은 이벤트 테이블 설정하기 섹션을 참조하십시오.
코드에서 로그 메시지와 추적 이벤트를 기록하면 기록된 데이터를 쿼리할 수 있습니다.
로그 및 추적 데이터 기록과 쿼리에 대한 정보는 다음을 참조하십시오.
매니페스트 파일에서 로그 및 추적 수준 설정하기¶
애플리케이션 버전에 대한 기본 로그 및 추적 이벤트 수준을 설정하려면 다음 예와 같이 매니페스트 파일에 log_level
및 trace_level
매개 변수를 설정하십시오.
artifacts:
setup_script: setup.sql
configuration:
trace_level: OFF
log_level: DEBUG
공급자가 추적을 활성화하면 Snowflake Native App 은 모든 쿼리와 저장 프로시저 호출의 시작 시간과 종료 시간을 자동으로 캡처합니다.
참고
trace_level
속성이 OFF
이외의 값으로 설정된 Snowflake Native App 을 게시하면 이벤트 테이블을 볼 수 있는 컨슈머 계정의 모든 사용자에게 숨겨진 저장 프로시저에 대한 호출이 노출될 수 있습니다.
trace_level
및 log_level
에 지원되는 값에 대한 정보는 추적 수준 설정하기 및 로그 수준 설정하기 섹션을 참조하십시오.
Snowflake Native App 을 처음 설치 시 앱은 매니페스트 파일에 정의된 로그 수준을 사용합니다. 후속 업그레이드에서 로그 수준이 변경되면 업그레이드 프로세스 완료 후 새 로그 수준이 적용됩니다.
로그 및 추적 수준은 매니페스트 파일 내에서만 설정할 수 있습니다. 컨슈머는 ALTER APPLICATION 또는 ALTER DATABASE 명령을 사용하여 로그 수준을 수정할 수 없습니다.
마찬가지로, 로깅 수준에 대한 모든 세션 수준 설정은 애플리케이션에서 무시됩니다.
애플리케이션 패키지에 정의된 로깅 및 추적 이벤트 수준 보기¶
DESCRIBE APPLICATION 명령을 사용하여 다음 명령에 표시된 것처럼 설치된 애플리케이션의 로깅 수준을 확인합니다.
DESC APPLICATION HelloSnowflake;
다음 예와 같이 애플리케이션 패키지에 정의된 로깅 수준과 애플리케이션 버전을 보려면 SHOW VERSIONS 명령을 사용하십시오.
SHOW VERSIONS
IN APPLICATION PACKAGE HelloSnowflake;
이벤트 테이블에서 로그 및 이벤트 보기¶
이벤트 테이블에 저장된 로그와 이벤트를 보려면 다음 예와 같이 SELECT 명령을 사용하십시오.
SELECT * FROM EVENT_DB.EVENT_SCHEMA.MY_EVENT_TABLE