애플리케이션 로그 작성

App Engine에서 실행되는 애플리케이션에 요청이 전송되면 요청 및 응답 세부정보가 자동으로 로그에 기록되며, Google Cloud Platform 콘솔의 Stackdriver 로그 뷰어에서 이를 확인할 수 있습니다.

앱의 요청 및 애플리케이션 로그는 Stackdriver Logging 에이전트에 의해 수집됩니다. 로그 보관 정책 및 로그 항목의 최대 크기는 할당량 정책을 참조하세요. 로그를 더 오래 저장하려는 경우 Cloud Storage로 로그를 내보낼 수 있습니다. 또한 로그를 BigQuery 및 Pub/Sub으로 내보내서 추가로 처리할 수 있습니다.

사용할 수 있는 로그의 목록은 App Engine 가변형 로그를 참조하세요.

애플리케이션 로그 작성

애플리케이션은 요청을 처리할 때 자체 로그 메시지를 stdoutstderr에 기록할 수 있습니다. 출력에는 stdout, 오류에는 stderr을 사용하여 애플리케이션 로그를 기록합니다. 이러한 파일은 자동으로 수집되며 로그 뷰어에서 확인할 수 있습니다. 이 경우 로그 뷰어에서 필터링에 사용할 수 있는 로그 수준은 제공되지 않습니다. 그러나 로그 뷰어는 텍스트, 타임스탬프 등의 기타 필터링을 제공합니다. 로그 뷰어는 크기를 제한하기 위해 가장 최근 항목만 보관합니다.

애플리케이션 로그 보기

로그 뷰어를 사용하여 애플리케이션 로그를 볼 수 있습니다.

  1. GCP 콘솔에서 Stackdriver > 로깅 페이지로 이동합니다.

    로그 뷰어 페이지로 이동

  2. 페이지 상단에서 기존 GCP 프로젝트를 선택합니다.

  3. 드롭다운 메뉴에서 리소스 유형으로 GAE 애플리케이션을 선택하여 App Engine 로그를 확인합니다.

로그 뷰어의 드롭다운 메뉴 및 기타 구성요소를 사용하여 로그에서 관련 항목을 필터링하거나 검색할 수 있습니다. 자세한 내용은 로그 뷰어 필터 인터페이스를 참조하세요.

애플리케이션 로그 필터링

로그 뷰어에서 라벨 또는 텍스트 검색으로 로그 항목을 필터링하는 방법은 기본 로그 필터를 참조하세요.

고급 로그 필터를 작성하여 로그 항목 집합을 더 자세히 지정하는 방법은 고급 로그 필터를 참조하세요.

도움말: 특정 인스턴스, 서비스 또는 버전에 대한 로그를 보려면 로그 뷰어에서 해당 리소스의 ID로 필터링하세요. 서비스 및 버전 ID는 GCP 콘솔의 App Engine 대시보드 상단에 있는 드롭다운 메뉴에 나열됩니다. 인스턴스 ID는 GCP 콘솔의 인스턴스 페이지에 나열됩니다.

App Engine 대시보드로 이동

로그 뷰어에서 trace가 동일하여 상관관계가 있는 여러 로그 항목을 '상위-하위' 형식으로 조회할 수 있습니다.

로그 항목의 상관관계를 지정하는 방법은 다음과 같습니다.

  1. request 로그와 상관관계를 지정할 앱 로그를 결정합니다. 이러한 상관관계가 작동하려면 request 로그 유형과 동일하지 않은 유형의 앱 로그를 선택해야 합니다.

  2. 애플리케이션 코드에서 수신 요청의 X-Cloud-Trace-Context HTTP 헤더를 찾습니다. 헤더에서 추적 식별자를 추출합니다. 자세한 내용은 Stackdriver Trace 지원을 참조하세요.

  3. 앱 로그 항목의 LogEntry trace 필드에 trace 식별자를 설정합니다. projects/[PROJECT_ID]/traces/[TRACE_ID] 형식을 사용해야 합니다.

로그 항목에 상관관계를 지정한 후 상관관계가 있는 로그 항목을 조회하는 방법은 다음과 같습니다.

  1. 로그 뷰어에서 App Engine 로그를 엽니다. 자세한 내용은 애플리케이션 로그 보기를 참조하세요.

  2. 로그 항목 왼쪽의 작은 검정색 삼각형을 클릭하여 request 로그를 확장합니다. request 및 앱 로그가 중첩된 형식으로 표시됩니다.

    로그 간에 상위-하위 관계가 내재된 것은 아닙니다. 예를 들어 상관관계가 있는 로그의 유형이 nginx.requestapp인 경우, 로그 뷰어에서 여러 app 로그와 상관관계가 있는 nginx.request 로그를 열면 app 로그가 아래에 표시됩니다. nginx.request 로그 하나와 상관관계가 있는 app 로그를 열면 app 로그 아래에 nginx.request 로그가 표시됩니다.

추가 사항:

  • '하위' 로그 항목에서 가장 높은 severity가 최상위 항목에 자동으로 적용되지는 않습니다. 이러한 동작이 필요하다면 최상위 항목에 가장 높은 severity를 수동으로 설정하세요.
  • 최상위 로그의 httpRequest.requestUrl 필드를 설정합니다.

API를 통해 로그 읽기

가변형 환경에서 생성된 App Engine 로그를 읽는 API는 없습니다.

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

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

App Engine flexible environment for Python docs