Python용 Stackdriver Logging 설정

Stackdriver Logging 클라이언트 라이브러리와 함께 포함되어 있는 Python 로깅 핸들러를 사용하거나 API에 직접 액세스하는 클라이언트 라이브러리를 사용하여 Python 애플리케이션에서 Stackdriver Logging에 로그를 작성할 수 있습니다.

시작하기 전에

  1. Google 계정에 로그인합니다.

    아직 계정이 없으면 새 계정을 등록하세요.

  2. Google Cloud Platform 프로젝트를 선택하거나 만듭니다.

    리소스 관리 페이지로 이동

  3. Google Cloud Platform 프로젝트에 결제가 사용 설정되어 있는지 확인하세요.

    결제 사용 설정 방법 알아보기

  4. 필요한 Stackdriver Logging API를 사용 설정합니다.

    API사용 설정

  5. Python 개발을 위한 환경을 준비합니다.

    Python 설정 가이드로 이동

라이브러리 설치

Python용 Stackdriver Logging 라이브러리를 설치하려면 클라이언트 라이브러리 설치를 참조하세요.

이 라이브러리를 설치하면 Python의 표준 로깅 모듈을 Stackdriver에 연결하는 로깅 핸들러와 Stackdriver Logging에 직접 액세스하는 API 클라이언트 라이브러리가 함께 제공됩니다.

Python 로깅에 라이브러리 연결

Stackdriver Logging 핸들러를 Python 루트 로거에 연결하여 모든 로그 항목을 Stackdriver로 전송하려면 setup_logging 도우미 메소드를 사용합니다.

# Imports the Google Cloud client library
import google.cloud.logging

# Instantiates a client
client = google.cloud.logging.Client()

# Connects the logger to the root logging handler; by default this captures
# all logs at INFO level and higher
client.setup_logging()

Python 루트 로거 사용하기

핸들러가 연결되면 애플리케이션에 표시되고 기본적으로 INFO 수준 이상인 모든 로그가 Stackdriver Logging으로 전송됩니다.

# Imports Python standard library logging
import logging

# The data to log
text = 'Hello, world!'

# Emits the data using the standard logging module
logging.warn(text)

메시지가 App Engine 또는 Kubernetes Engine에서 Stackdriver Logging으로 기록되면 핸들러가 이 메시지를 해당 환경의 각 리소스 유형으로 전송합니다. 그렇지 않으면 로그가 기본적으로 'python' 로그 아래에 전체 리소스 유형으로 표시됩니다.

로깅 핸들러 구성

Python 로거를 선택하는 목적으로만 Stackdriver 로깅 핸들러를 연결하거나 로깅 핸들러를 구성하기 위해 Stackdriver 로깅 핸들러를 연결하려면 API 라이브러리 문서를 참조하세요.

설치에 관한 자세한 내용은 Python용 Stackdriver Logging 라이브러리에 관한 문서를 참조하세요. 또한 문제 추적기를 통해 문제를 신고할 수도 있습니다.

Cloud 클라이언트 라이브러리 직접 사용하기

Python용 Stackdriver Logging Cloud 클라이언트 라이브러리에 관한 자세한 내용은 Stackdriver Logging 클라이언트 라이브러리를 참조하세요.

Google Cloud Platform에서 실행

Python용 Stackdriver Logging 라이브러리를 사용하려면 GCP에서 Cloud IAM 로그 작성자 역할이 필요합니다. 대부분의 GCP 환경은 기본적으로 이 역할을 제공합니다.

App Engine

App Engine은 기본적으로 로그 작성자 역할을 부여합니다.

Python용 Stackdriver Logging 라이브러리는 명시적으로 사용자 인증 정보를 제공하지 않아도 사용 가능합니다.

Stackdriver Logging은 App Engine 애플리케이션에서 자동으로 사용 설정됩니다. 추가 설정이 필요 없습니다.

Google Kubernetes Engine

Google Kubernetes Engine에서는 클러스터를 만들 때 logging.write 액세스 범위를 추가해야 합니다.

gcloud container clusters create example-cluster-name --scopes https://www.googleapis.com/auth/logging.write

Compute Engine

Compute Engine VM 인스턴스를 사용할 때 각 인스턴스에 cloud-platform 액세스 범위를 추가하세요. Google Cloud Platform 콘솔을 통해 새 인스턴스를 만들 때 인스턴스 만들기 패널의 ID 및 API 액세스 섹션에서 이 작업을 수행할 수 있습니다. 선택한 Compute Engine 기본 서비스 계정 또는 다른 서비스 계정을 사용하고 ID 및 API 액세스 섹션에서 모든 Cloud API에 대한 전체 액세스 허용을 선택하세요. 어떤 서비스 계정을 선택하든 GCP Console의 IAM 및 관리자 섹션에서 로그 작성자 역할이 부여되었는지 확인하세요.

로컬 및 기타 위치에서 실행

GCP 외부에서 Python용 Stackdriver Logging 라이브러리를 사용하려면 Python용 Stackdriver Logging 라이브러리에 직접 GCP 프로젝트 ID와 적절한 서비스 계정 사용자 인증 정보를 제공해야 합니다. 이 내용은 자체 워크스테이션, 데이터 센터의 컴퓨터 또는 다른 클라우드 제공업체의 VM 인스턴스에서 에이전트를 실행하는 데 적용됩니다. 자세한 내용은 수동으로 서비스 계정 사용자 인증 정보 획득 및 제공을 참조하세요.

로그 보기

배포 후 GCP Console 로그 뷰어에서 로그를 볼 수 있습니다.

로그 뷰어로 이동

자세한 내용은 로그 보기를 참조하세요.

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

Stackdriver Logging
도움이 필요하시나요? 지원 페이지를 방문하세요.