Google Functions : Node.js에서 중요도가있는 로깅
console.error
와 console.info
등의 Console API에서는 GCP의 로그 중요도(severity)가 DEFAULT
GCP의 중요도는 이 두 가지 밖에 없으며 다음 9가지 수준이 있습니다.
이 소식에서는 Google Cloud 로깅 클라이언트 라이브러리를 사용하여 Cloud Functions에서 심각도가 지정된 로깅을 수행하는 방법에 대해 설명합니다.
이 게시물에서 배우기
ERROR
와 @google-cloud/logging에 기록 된 로그 내용의 차이. 로깅 클라이언트 라이브러리 설치
먼저 필요한 로깅 클라이언트 라이브러리를 설치합니다.
yarn add @google-cloud/logging
라이브러리를 Cloud Functions에 통합
그런 다음 이 로깅 라이브러리를 Cloud Functions 구현에 통합합니다.
아래 코드가 내장된 것입니다.
console.log
를 사용하여 로깅하는 것과 치고 바뀌어, 여러가지 아래 준비가 필요한 것과, 로그를 기록할 때마다 로그 엔트리 오브젝트를 작성할 필요가 있는 것을 알 수 있습니다. 조금 귀찮을 것 같네요.index.js
const { Logging } = require('@google-cloud/logging')
exports.loggingWithClient = async (req, res) => {
// クライアントを作る
const logging = new Logging()
// ログ出力先を決めてロガーを作る
const log = logging.log('my-name')
// ログエントリーを作る
const entry = log.entry(
{
resource: { type: 'global' },
severity: 'INFO', // 重要度「INFO」を指定
},
'ログをクライアントで書き込むテスト',
)
// ログを書き込む
await log.write(entry)
res.send('OK')
}
일단 이것을 배포하고,
gcloud functions deploy loggingWithClient --runtime=nodejs12 --trigger-http
전화 해 봅시다 :
curl https://asia-northeast1-${PROJECT}.cloudfunctions.net/loggingWithClient
어떻게 로그가 기록되었는지, 로그 뷰어를 열어보십시오.
console.log
로 기록한 로그는 자동으로 어떤 함수의 것인가에 관련지을 수 있기 (위해)때문에, 관리 콘솔의 「Cloud Functions」로부터 해당 함수의 「로그 표시」로부터 가는 도선을 사용할 수 있었습니다만, 위의 코드 로 기록 된 로그는 함수에 연결되어 로깅되지 않으므로 로깅의 로그 뷰어에서 찾습니다.이 도선으로부터라면, 프로젝트의 전체 로그가 나오므로, 많은 로그가 있는 경우는 「최근의 3분」등으로 좁히면 찾아내기 쉽습니다.
이와 같이,
console.log
등으로는 할 수 없었던 중요도 「INFO」로 로깅되고 있는 것을 확인할 수 있습니다:이번에 시도한 샘플 코드는 로그 항목의 메타 데이터를 다양하게 생략했기 때문에 상당히 질소적인 내용이 되었습니다.
아래는 보통
console.info
했을 뿐의 로그 엔트리입니다만, 그것과 비교하면 정보의 적음을 알 수 있습니다:요약
이 게시물을 통해 다음을 알았다고 생각합니다.
console.log
와 @google-cloud/logging에 기록 된 로그 내용의 차이. @google-cloud/logging은 상당히 낮은 수준의 로깅을 할 수 있지만 사용하기 쉽지 않으며 어떤 함수에서 실행되었는지 등은 자동으로 기록되지 않으므로 다음에 더 편리한 방법에 대해 게시하고 싶습니다. .
Reference
이 문제에 관하여(Google Functions : Node.js에서 중요도가있는 로깅), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/suin/items/d2b4188174e58aa1345c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)