건강 검진의 경우 grep
에 의존 할 필요가 없습니다. SDK에는 included filters이 있으므로 출력을 필터링 할 수 있습니다. 그러나 터미널에 숨기 만하면 SDK는 여전히 grep
을 사용하는 것처럼 API에서 가져올 수 있습니다. 사용자 정의 필터와 일치하는 로그 만 요청하기 때문에보다 최적의 방법은 gcloud logging read 'resource.type="gae_app" AND logName:"logs/appengine.googleapis.com%2Frequest_log" AND protoPayload.resource!="/health"' --order desc
입니다. 이것은 매우 자세한 로그를 제공하므로 format the output directly on the SDK을 사용하면 원하는대로 gcloud app logs tail
과 유사하게 만들 수 있습니다. 당신은 출력이 당신의 요구에 맞게 만들기 위해 --format
플래그를 추가해야합니다
watch 'gcloud logging read "resource.type=\"gae_app\" AND logName:\"logs/appengine.googleapis.com%2Frequest_log\" AND protoPayload.resource!=\"/health\"" --order desc --limit 1'
하고 --limit
플래그 : gcloud logging
는 "꼬리"모드를 가지고 있지 않기 때문에
, 당신은 단지처럼 watch
에 포장 할 수 있습니다 한도가 커질수록 응답 속도가 느려집니다.
로그가 시작되는 시간과 관련하여 gcloud app logs tail -s default --log-http
을 실행하고 SDK에서 수행 한 요청을 API에서 사용할 수있는 필터와 비교하면 왜 1 주일 이전 로그가 표시되는지 알 수 있습니다.
귀하의 경우 가장 좋은 옵션은 watch
에 싸여있는 API에 직접 전화를 걸 것이라고 생각합니다.
직접 API 호출을 사용하면 사용자 지정 필터를 추가하고 field mask을 사용하여 관련 로그 항목과 필드 만 반환하여 네트워크에 대한 부담을 줄이고 응답 시간을 단축 할 수 있습니다.
먼저 원하는 로그 만 반환하는 log filter을 만들어야합니다 (건강 검진 또는 스팸 모니터링 없음). 이를 수행하는 가장 좋은 방법은 표시된 로그가 만족 스러울 때까지 console itself에서 테스트하는 것입니다.
그런 다음 관심있는 필드를 확인하십시오. GAE 로그의 경우 protoPayload (및 페이로드의 일부 필드 만 필요하지만 나중에 필터링 할 수 있습니다)가 필요할 가능성이 큽니다.
그래서 우리는 다음과 같은 방법으로 우리의 API 호출 루프를 구성 (경고 : 인용 탈출 지옥) : 빠른 테스트로
watch -tcn 0.5 'curl -H"Authorization: Bearer $(gcloud auth print-access-token)" \
-H"Content-Type: application/json" \
"https://logging.googleapis.com/v2/entries:list?fields=entries%2FprotoPayload" \
-d"{
\"filter\":\"resource.type=\\\"gae_app\\\"
logName=\\\"projects/$(gcloud config get-value project)/logs/appengine.googleapis.com%2Frequest_log\\\"\",
\"pageSize\":$(tput lines),
\"orderBy\":\"timestamp desc\",
\"resourceNames\": [
\"projects/$(gcloud config get-value project)\"
]
}" 2>\dev\null |jq -cC ".entries[].protoPayload | { timestamp: .startTime, method, status, latency, URL: (.host + .resource) }"'
, 내가 출력 형식을 jq
을 통해 응답 배관 및 제한하고있어 응답 크기를 화면 크기에 맞게 조정할 수 있지만이를 쉽게 읽을 수있는 필드와 출력에 맞게 조정해야합니다.
같은 문제가 있습니다. 뭐 찾았 니? 현재 로그 삭제 만 시도 중 'gcloud 베타 로그 기록 목록' 'gcloud 베타 로그 기록 삭제 로그 ' –