다음을 통해 공유


사용자 데이터 함수 로그 보기

로그를 사용하면 함수가 예상대로 작동하지 않을 때 사용자 데이터 함수가 실행되는 방식을 이해하고 문제를 진단할 수 있습니다. 두 가지 방법으로 로그를 볼 수 있습니다.

  • 테스트 중 - 개발 모드에서 함수를 테스트할 때 테스트 패널에서 실시간 로그 보기
  • 호출 후 - 호출된 게시된 함수에 대한 기록 로그 보기

이 문서에서는 로그를 보고 사용하여 함수 실행을 모니터링하고 문제를 해결하는 방법을 설명합니다.

테스트 중 로그 보기

함수를 테스트할 때 함수가 실행되면 실시간으로 로그를 볼 수 있습니다.

  • 개발 모드의 테스트 패널 - 게시되지 않거나 게시된 함수를 테스트할 때 로그 보기
  • 실행 전용 모드에서 패널 실행 - 게시된 함수를 실행할 때 로그 보기

두 패널 모두 로그 출력을 즉시 표시하므로 실행 세부 정보를 보고 문제가 발생할 때 디버그할 수 있습니다. 함수 테스트에 대한 자세한 내용은 사용자 데이터 함수 테스트를 참조하세요.

호출된 함수에 대한 기록 로그 보기

게시된 함수가 호출된 후 기록 로그를 보고 과거 실행을 분석할 수 있습니다.

기록 로그에 액세스하려면 다음을 수행합니다.

  1. 모드 전환기를 사용하여 실행 전용 모드 로 전환합니다.

  2. 함수 목록의 함수 이름을 마우스로 가리킵니다.

  3. 줄임표 아이콘(...)을 선택한 다음 기록 로그 보기를 선택합니다.

    함수에 대한 과거 로그를 보는 방법을 보여 주는 스크린샷.

히스토리 로그 화면 이해

기록 로그 보기는 선택한 함수에 대한 최근 호출을 보여 줍니다. 최대 50개의 항목을 볼 수 있으며 로그는 30일 동안 보존됩니다. 날짜(UTC) 열에서 날짜 링크를 선택하여 특정 호출에 대한 자세한 로그를 봅니다.

날짜별로 순서가 지정된 함수에 대한 모든 호출을 보는 방법을 보여 주는 스크린샷.

모든 기록 로그 창에는 호출당 다음 정보가 포함됩니다.

  • 날짜(UTC). 함수 호출 시작을 나타내는 타임스탬프입니다. 링크를 선택하여 해당 호출에 대한 모든 로그를 검토합니다. 사용자 또는 서비스에서 기록한 모든 메시지와 함께 호출 세부 정보가 표시됩니다.
  • 상태. 호출이 성공했는지 실패했는지를 나타냅니다.
  • 기간(ms). 함수 실행 기간(밀리초)입니다.
  • 호출 ID 해당 함수 호출의 ID입니다. 호출 ID는 HTTP 헤더의 일부로 반환됩니다. 문제가 있는 경우 사용자는 지원 요청에서 이 호출 ID를 참조하여 호출에 대한 자세한 정보를 검색할 수 있습니다.

특정 호출에 대한 자세한 로그 보기

이전 섹션에서 설명한 대로 기록 로그 뷰를 연 후 개별 호출로 드릴다운할 수 있습니다. 날짜(UTC) 열에서 타임스탬프 링크를 선택하면 호출 세부 정보 창이 열리고 해당 호출에 대한 모든 로그가 표시됩니다. 볼 수 있는 항목은 다음과 같습니다.

  • logging 모듈을 사용하여 함수 코드에 추가된 모든 로그
  • 함수 실행에 대한 시스템 생성 로그
  • 발생한 오류 또는 예외

각 로그 항목에는 타임스탬프, 로그 메시지 및 로그 수준(정보, 경고, 오류, 위험)이 포함됩니다.

지정된 함수 호출에 대한 자세한 로그를 생성하는 방법을 보여 주는 스크린샷.

함수에 로깅 추가

Python의 표준 logging 모듈을 사용하여 함수에 사용자 지정 로그 문을 추가할 수 있습니다. 로그를 사용하면 함수 동작을 추적하고, 데이터 처리를 모니터링하고, 문제를 진단할 수 있습니다.

로깅 모듈 가져오기

먼저 함수 코드에서 모듈을 logging 가져옵니다.

import logging

비고

logging 모듈은 패브릭 포털에서 새 사용자 데이터 함수 항목을 만들거나 VS Code 확장을 사용할 때 기본적으로 가져옵니다.

적절한 로그 수준 사용

Python은 다양한 상황에 대해 서로 다른 로그 수준을 제공합니다. 적절한 수준을 사용하여 로그를 더 의미 있게 만듭니다.

# INFO - Track normal function execution and key steps
logging.info('Processing started for customer ID: 12345')
logging.info('Successfully retrieved 150 records from database')

# WARNING - Log potentially problematic situations that don't prevent execution
logging.warning('API response time exceeded 2 seconds')
logging.warning('Using cached data because fresh data is unavailable')

# ERROR - Log errors that affect functionality but don't crash the function
logging.error('Failed to connect to external API: Connection timeout')
logging.error('Invalid data format in row 42')

# CRITICAL - Log severe errors that may cause function failure
logging.critical('Database connection lost')
logging.critical('Required configuration parameter missing')

로깅 모범 사례

로그를 보다 효과적으로 만들려면 다음 방법을 따르세요.

  • 의미 있는 정보 기록 - 문제를 진단하는 데 도움이 되는 ID, 개수 또는 매개 변수 값과 같은 관련 세부 정보 포함
  • 적절한 로그 수준 사용 - 모든 항목을 INFO 또는 ERROR로 기록하지 마세요. 상황에 적합한 수준 사용
  • 핵심 지점에 로그 - 함수 시작, 외부 호출 전후 및 데이터 처리 시 로그 추가
  • 중요한 데이터 로깅 방지 - 암호, 토큰, 개인 정보 또는 기타 중요한 데이터를 기록하지 마세요.
  • 간결한 메시지 유지 - 검색하기 쉬운 명확하고 간단한 로그 메시지 작성
  • 볼륨을 염두에 두 세요. 과도한 로깅은 성능에 영향을 미치고 일일 수집 제한에 도달할 수 있습니다.

함수 코드 작성에 대한 자세한 내용은 Python 프로그래밍 모델을 참조하세요.

제한 사항 및 로그 보존

로그를 사용할 때는 다음과 같은 제한 사항에 유의하세요.

  • 로그 보존 - 기록 호출 로그는 기본적으로 30일 동안 보존됩니다.
  • 표시 항목 - 기록 로그 보기는 함수당 최대 50개의 항목을 표시합니다.
  • 로그 가용성 - 호출 로그를 표시하는 데 몇 분 정도 걸릴 수 있습니다. 최근 로그가 표시되지 않는 경우 페이지 새로 고침
  • 일일 수집 제한 - 하루 250MB; 제한은 매일 다시 설정됩니다.
  • 샘플링 - 통계적으로 올바른 분석을 유지하면서 볼륨을 줄이기 위해 로그를 샘플링할 수 있습니다.
  • 지원되는 로그 유형 - 정보, 오류, 경고 및 추적

전체 서비스 제한 정보는 서비스 세부 정보 및 제한 사항을 참조하세요.