Apigee Edge 문서입니다.
Apigee X 문서로 이동 정보
버전 2.0.0
Cloud Logging 로그에 항목을 작성합니다.
이 콘텐츠는 이 확장 프로그램을 구성하고 사용하는 방법을 참조합니다.
기본 요건
API 프록시에서 이 확장 프로그램을 사용하려면 먼저 다음을 실행해야 합니다.
IAM에서 Cloud Logging 시스템 확장 프로그램을 나타낼 프로젝트 구성원에게 Logging > Logs Writer 역할을 할당합니다. 역할 부여 방법에 관한 안내는 서비스 계정에 특정 리소스에 대한 역할 부여를 참고하세요. 로깅 역할에 관한 자세한 내용은 액세스 제어 가이드를 참고하세요.
이 확장 프로그램은 PostClientFlow에 있는 ExtensionCallout 정책에 의해 호출되는 것을 지원합니다.
ExtensionCallout 정책을 사용하여 PostClientFlow에서 이 확장 프로그램을 호출하려면 조직에서 features.allowExtensionsInPostClientFlow
플래그가 true
로 설정되어 있는지 확인합니다.
퍼블릭 클라우드용 Apigee Edge 고객인 경우 Apigee Edge 지원팀에 문의하여 조직에서
features.allowExtensionsInPostClientFlow
플래그가true
로 설정되어 있는지 확인해야 합니다.Apigee Edge for Private Cloud 고객인 경우 조직 속성 업데이트 API를 사용하여
features.allowExtensionsInPostClientFlow
플래그를true
로 설정합니다.
Cloud Logging 정보
Cloud Logging은 Google Cloud의 작업 제품군에 포함되어 있습니다. 여기에는 로그 저장소, 로그 탐색기라고 하는 사용자 인터페이스, 로그를 프로그래매틱 방식으로 관리하는 API가 포함됩니다. Cloud Logging을 사용하면 로그 항목을 읽고 쓰고, 로그를 검색 및 필터링하고, 로그를 내보내고, 로그 기반 측정항목을 만들 수 있습니다.
Cloud Logging 확장 프로그램은 현재 로그에 항목을 작성합니다. 자세한 내용은 Cloud Logging 문서를 참고하세요.
샘플
다음 예는 ExtensionCallout 정책을 사용하여 Cloud Logging 확장 프로그램 작업 지원을 구성하는 방법을 보여줍니다.
전역 로그
다음 정책은 Cloud 글로벌 리소스의 example-log
로그에 This is a test
메시지를 씁니다. 실제 사용 시에는 API 프록시의 다른 위치에서 값을 설정하는 흐름 변수에 메시지가 포함될 수 있습니다.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Logging-Extension">
<DisplayName>Logging Connector</DisplayName>
<Connector>cloud-extension-sample</Connector>
<Action>log</Action>
<Input><![CDATA[{
"logName": "example-log",
"metadata": {
"resource": {
"type": "global",
"labels": {
"project_id": "my-test"
}
}
},
"message": "This is a test."
}]]></Input>
</ConnectorCallout>
이 콘텐츠는 이 확장 프로그램을 구성하고 사용하는 방법을 참조합니다. Apigee 콘솔을 사용하여 확장 프로그램을 구성하는 단계는 확장 프로그램 추가 및 구성을 참고하세요.
작업
로그
로그에 메시지를 씁니다.
이 작업은 Cloud Logging 로그 항목을 작성합니다. 로그 항목은 메타데이터와 항목 데이터로 구성됩니다. 로그 항목에 관한 자세한 내용은 항목 참조를 참고하세요.
metadata
속성의 콘텐츠에 관한 자세한 내용은 Cloud Logging 문서의 LogEntry 객체를 참고하세요.
구문
<Action>log</Action>
<Input><![CDATA[{
"logName" : "cloud-log-name-to-use",
"metadata" : JSON-structured-metadata,
"message" : "data-to-log-as-entry"
}]]></Input>
예: 문자열
<Action>log</Action>
<Input><![CDATA[{
"logName" : "example-log",
"metadata" : { "resource" : { "type" : "global" } },
"message": "This is a test."
}]]></Input>
예: JSON
<Action>log</Action>
<Input><![CDATA[{
"logName" : "example-log",
"metadata" : { "resource" : { "type" : "global" } },
"message" : { "info" : "This is a test." }
}]]></Input>
요청 매개변수
매개변수 | 설명 | 유형 | 기본값 | 필수 |
---|---|---|---|---|
logName |
이 항목이 속한 로그의 이름입니다. | 문자열 | 없음 | 예 |
metadata |
로그 항목에 관한 메타데이터입니다.metadata 에서 type 및 labels 를 설정하는 방법에 관한 자세한 내용과 옵션은 MonitoredResource를 참고하세요. |
JSON | 없음 | 아니요 |
message |
이 로그 항목의 값으로 사용할 데이터입니다. 간단한 문자열을 지정하거나 JSON을 사용하여 더 구조화된 메시지를 로깅할 수 있습니다. | 문자열 또는 JSON | 없음 | 예 |
응답
메시지가 로그에 기록된 경우 None
입니다. 그렇지 않으면 요청이 오류를 반환합니다. 확장 프로그램 디버깅도 참고하세요.
구성 참조
API 프록시에서 사용하도록 이 확장 프로그램을 구성하고 배포할 때 다음을 사용하세요.
일반적인 확장 속성
모든 확장 프로그램에는 다음과 같은 속성이 있습니다.
속성 | 설명 | 기본 | 필수 |
---|---|---|---|
name |
확장 프로그램의 구성에 지정할 이름입니다. | 없음 | 지원됨 |
packageName |
Apigee Edge에서 제공하는 확장 프로그램 패키지 이름입니다. | 없음 | 지원됨 |
version |
확장 프로그램을 구성하는 확장 프로그램 패키지의 버전 번호입니다. | 없음 | 지원됨 |
configuration |
추가하는 확장 프로그램 관련 구성 값입니다. 이 확장 프로그램 속성의 속성을 참조하세요. | 없음 | 지원됨 |
이 확장 프로그램 패키지의 속성
이 확장 프로그램에만 해당하는 다음 구성 속성의 값을 지정합니다.
속성 | 설명 | 기본값 | 필수 |
---|---|---|---|
projectId |
로그를 만들어야 하는 Google Cloud 프로젝트 ID입니다. | 없음 | 예 |
credentials |
Apigee Edge 콘솔에 입력하면 서비스 계정 키 파일의 콘텐츠가 됩니다. 관리 API를 통해 전송되는 경우 서비스 계정 키 파일에서 생성된 base64로 인코딩된 값입니다. | 없음 | 예 |