Python 3으로 마이그레이션하는 과정에서 logservice 에서 StackDriver Logging API 로 마이그레이션해야합니다 . 내가 가진 구글 클라우드 로깅이 설치, 나는 성공적으로 예와 GAE 응용 프로그램 로그를 가져올 수 있습니다 :
>>> from google.cloud.logging_v2 import LoggingServiceV2Client
>>> entries = LoggingServiceV2Client().list_log_entries(('projects/projectname',),
filter_='resource.type="gae_app" AND protoPayload.@type="type.googleapis.com/google.appengine.logging.v1.RequestLog"')
>>> print(next(iter(entries)))
proto_payload {
type_url: "type.googleapis.com/google.appengine.logging.v1.RequestLog"
value: "\n\ts~brid-gy\022\0018\032R5d..."
}
이것은 필드 LogEntry
에서 텍스트 응용 프로그램 로그를 얻습니다 proto_payload.value
. 해당 필드를 어떻게 역 직렬화합니까? 문서에서 관련 언급을 많이 찾았지만 google.appengine.logging.v1.RequestLog
올바른 아이디어 인 경우 사용할 수 있는 protobuf 생성 클래스 를 가리키는 것은 없습니다 . 누구든지 이것을 했습니까?
이 LogEntry.to_api_repr()
함수를 사용 하여 LogEntry
.
>>> from google.cloud.logging import Client
>>> entries = Client().list_entries(filter_="severity:DEBUG")
>>> entry = next(iter(entries))
>>> entry.to_api_repr()
{'logName': 'projects/PROJECT_NAME/logs/cloudfunctions.googleapis.com%2Fcloud-functions'
, 'resource': {'type': 'cloud_function', 'labels': {'region': 'us-central1', 'function_name': 'tes
t', 'project_id': 'PROJECT_NAME'}}, 'labels': {'execution_id': '1zqolde6afmx'}, 'insertI
d': '000000-f629ab40-aeca-4802-a678-d513e605608e', 'severity': 'DEBUG', 'timestamp': '2019-10-24T2
1:55:14.135056Z', 'trace': 'projects/PROJECT_NAME/traces/9c5201c3061d91c2b624abb950838b4
0', 'textPayload': 'Function execution started'}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다